2010-03-17 6 views
0

내가gridview에서 이미지 버튼의 포스트 백에서 쿼리 문자열을 바인딩하고 싶습니까?

<asp:ImageButton ID="ibtnEdit" runat="server" CommandName="Edit" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"SystemEmailID")%>' 
    ImageUrl="~/Images/edit-list.gif" PostBackUrl="~/Edit_SyatemEmails.aspx?blogentry=edit&id=<%#DataBinder.Eval(Container.DataItem,"SystemEmailID")%>"/> 

it's failed, then i updated the code to 

<asp:ImageButton ID="ibtnBlogEntryEdit" PostBackUrl='"~/admin/BlogEntry.aspx?blogentry=edit&entryid=" & <%# Eval("EntryID") %>' SkinID="edit" runat="server" /> 

well,the above code has pass the debugging,but failed to databind to the postbackurl,the result as 

http://localhost/dovoshow/"~/admin/BlogEntry.aspx?blogentry=edit&entryid="%20&%20<%#%20Eval("EntryID")%20%> 

so,anyonw know how to solve it ,help me thanks 
+0

데이터 바인딩을 수행하는 코드를 표시 할 수 있습니까? –

+0

함수를 만들어 pageload 이벤트의 코드 숨김에서 데이터 바인딩을 수행합니다. – sikender

답변

1

그것은 같아야로하여 ImageButton의 postbackurl에 '<%#Eval("EntryID") %>'를 데이터 바인딩하려고 ...

PostBackUrl='<%# Eval("SystemEmailID", "Edit_SyatemEmails.aspx?id={0}" 
+ "&blogentry=" + Request.QueryString["edit"]) %>' 
1

나는 당신이 뒤에있는 코드에서 작업을 수행하는 것이 좋습니다 것입니다. GridView RowCreated 이벤트 :

protected void GridView_OnRowCreated(Object sender, GridViewRowEventArgs e) 
{ 
    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     (e.Row.FindControl("ibtnEdit") as ImageButton). PostBackUrl = "~/Edit_SyatemEmails.aspx?blogentry=edit&id=" + DataBinder.Eval(e.Row.DataItem, "SystemEmailID")) 
    } 
} 
관련 문제