2012-01-15 1 views
1

나는 코드가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)); 
} 

문제는이 페이지로 리디렉션하지 않거나입니다 ASCX 파일에하여 ImageButton이 다른 것? Response.Redirect 일반적으로 사용하려고하면이 부분에서만 잘 작동하고 다른 사이트에서는 정상적으로 작동합니다.

+0

중단 점을 추가하여 코드가 충돌했는지 확인 했습니까? 또한 Response.Redirect의 url에서 하드 코드로 테스트 할 수도 있습니다. –

+0

yah, 그것은 lins를 때리지 만 아무것도하지 않습니다. 심지어 하드 코드를 삽입해도 아무 일도 없었습니다. –

+0

Response.Redirect 대신 Server.Transfer를 사용할 수 있습니까? –

답변

2

URL이 두 개 포함되어있어 그 원인이 될 수 있습니다 문제의 일부. 두 번째 인수는? 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를 직접 호출하면됩니다.

또한 업데이트 패널에서이 작업을 수행하고 있습니까? 리디렉션 문제가 원인 일 수 있습니까?