Хотите связать строку запроса в postbackurl кнопки изображения в представлении сетки?

когда я пытаюсь привязать данные '<%#Eval("EntryID") %>' к postbackurl ImageButton как

<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 

person sikender    schedule 17.03.2010    source источник
comment
Можете ли вы показать код, где вы делаете привязку данных?   -  person Andrew Bezzub    schedule 17.03.2010
comment
привязка данных в отделенном коде в событии загрузки страницы, создав функцию.   -  person sikender    schedule 17.03.2010


Ответы (2)


Это должно быть как...

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

Я бы посоветовал вам сделать это в коде позади. В событии 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"))
    }
}
person heisthedon    schedule 17.03.2010