我在ASCX文件中有一个代码为
的图像按钮<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 :(得分:2)
您正在尝试传递一个包含两个?的URL,这可能会导致部分问题。你的第二个论点是?ID =应该是“&amp; 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即可。
另外,您是否正在更新面板中执行此操作?也许这会导致重定向问题?