我正在重新实现一个带有包含用户控件的主页(称为“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/