Response.Redirect в DNN с помощью CommandArguments - PullRequest
1 голос
/ 15 января 2012

У меня есть кнопка изображения в файле 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, когда я пытаюсь использовать его вообще, он не работает только в этой части, а на другом сайте он работает хорошо

1 Ответ

2 голосов
/ 18 января 2012

Вы пытаетесь передать URL с двумя? 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 напрямую.

Кроме того, вы делаете что-то из этого внутри панели обновления?Возможно, это вызывает проблемы с перенаправлением?

...