在某些菜单项中为Page_Load设置URL参数单击Javascript

时间:2011-01-27 00:45:55

标签: javascript asp.net

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

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

MyMainPage还包含一个表示页面主体大部分的用户控件。我们称之为MainBodyControl.ascx。主页面的Page_Load()设置一些会话值,这些值在Page_Load()中用于MainBodyControl。

单击主页面上的菜单项时,主页面的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”属性机制。在分配给菜单项的click事件的一些JavaScript中,为上面的“_page”或“_title”设置新值的最佳方法是什么。

1 个答案:

答案 0 :(得分:2)

你可以写

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