javascript - 在某些菜单项中单击 Javascript 设置 Page_Load 的 URL 参数

标签 javascript asp.net

我正在重新实现一个带有包含用户控件的主页(称为“MyMainPage”)的 ASP.NET 应用程序。 (将其称为“MyNavControl”)该用户控件中有一个由第三方提供的菜单控件。添加到此第三方控件的项具有通过 URL 传递的“Href”属性。创建菜单子(monad)项的代码包含在 MyNavControl 的 .ascx 代码隐藏中,如下所示:

ThirdParty.MenuItem subitem = new ThirdParty.MenuItem();
subitem.Href="MyMainPage.aspx?_page=PremiumCustomer&_title=Premium";

MyMainPage 还包含一个代表大部分页面主体的用户控件。我们将其命名为 MainBodyControl.ascx。主页的 Page_Load() 设置一些 session 值,这些值在 MainBodyControl 的 Page_Load() 中使用。

当单击主页上的菜单项时,主页的 Page_Load() 将传递菜单项控件的“Href”值中指定的参数。所以:

protected void Page_Load(object sender, System.EventArgs e)
{
    string sPageType = "";
    if (this.Request[ "_page" ] != null) {
        sPageType = this.Request[ "_page" ].ToString();
    }
}

这是我的问题:我正在用标准 ASP.NET 控件替换第三方控件,因此当前的“Href”属性机制无法再使用。在分配给菜单项点击事件的某些 JavaScript 中,为上面的“_page”或“_title”设置新值的最佳方法是什么。

最佳答案

你可以这样写

<asp:MenuItem NavigateUrl="MyMainPage.aspx?_page=PremiumCustomer&_title=Premium"
              Text="Click here!" />

关于javascript - 在某些菜单项中单击 Javascript 设置 Page_Load 的 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4811878/

相关文章:

javascript - 导出模块对象并导入该模块的特定属性

javascript - JQuery 表单提交不验证字段

asp.net - 在非常基本的 WebSharper 应用程序中找不到 '/Scripts/IntelliFactory.WebSharper.dll.js'

asp.net - VB.NET Web 窗体项目引用问题

c# - GridView RowCommand 事件未触发

c# - 从 ASP.NET 打印到网络打印机

c# - process.start从ASP页面开始,exe文件放在哪里

javascript - 使用 javascript insideHTML 清理 html 以进行注入(inject)?

JavaScript 倒计时问题。想要清除每次点击按钮的间隔

javascript - moment js,将 EST 字符串转换为 UTC