2012-01-15 52 views
1

我在ASCX文件中的ImageButton它的代碼是使用DNN的Response.Redirect CommandArguments

<asp:ImageButton ID="ImageButtonEdit" runat="server" CommandArgument='<%#Eval("ItemID") %>' ImageUrl="~/images/edit.gif" OnClick="ImageButtonEdit_Click" />` 

和背後的代碼是

protected void ImageButtonEdit_Click(object sender, System.Web.UI.ImageClickEventArgs e) 
{ 
    ImageButton editing = (ImageButton)sender; 
    Response.Redirect(Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "AddCollectionItem", "mid=" + this.ModuleId) + "?ID=" + Convert.ToInt32(editing.CommandArgument)); 
} 

問題是,它不重定向到頁面或任何其他的事情? Response.Redirect當我嘗試使用它在一般情況下它不適用於這部分只在其他網站它運作良好

+0

您是否添加了斷點以確保代碼被命中?也可以在Response.Redirect的URL中進行硬編碼測試。 – 2012-01-15 21:10:41

+0

嗯,它擊中林斯,但什麼都不做,即使當我插入硬代碼什麼也沒有發生 – 2012-01-16 11:29:57

+0

你可以使用Server.Transfer而不是Response.Redirect – 2012-01-16 12:41:17

回答

2

您試圖通過一個網址與兩個?s在其中,這可能是造成問題的一部分。你的第二個參數,?ID =應爲「& ID =」

protected void ImageButtonEdit_Click(object sender, System.Web.UI.ImageClickEventArgs e) 
{ 
    ImageButton editing = (ImageButton)sender; 
    Response.Redirect(Globals.NavigateURL(TabID, "AddCollectionItem", "mid=" + this.ModuleId + "&ID=" + Convert.ToInt32(editing.CommandArgument))); 
} 

你也可以通過NavigateURL的裏面,而不是NavigateURL之外的,你在做什麼。

如果您的模塊正確地從PortalModuleBase繼承,則不需要PortalSettings.ActiveTab.TabID,只需直接調用TabID即可。

此外,你是否正在更新面板中的任何內部?也許這是導致重定向問題?