2011-01-27 29 views
0

我正在使用包含用戶控件的主頁(稱爲「MyMainPage」)重新實現ASP.NET應用程序。 (稱之爲「MyNavControl」)在該用戶控件中是由第三方提供的菜單控件。添加到此第三方控件的項目具有通過URL傳遞的「Href」屬性。創建菜單子項,包含的.ascx爲MyNavControl的代碼隱藏中的代碼,是這樣的:在某些菜單項中爲Page_Load設置URL參數單擊Javascript

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

MyMainPage還包含表示大量頁面主體的用戶控制。我們稱之爲MainBodyControl.ascx。主頁面的Page_Load()設置了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」設置新的值。

回答

2

你可以寫

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

@Buggie:爲什麼不能你把網址進入菜單項? – SLaks 2011-01-27 00:53:14