方法:在datalist的DataList1_ItemDataBound事件中写如下
ImageButton imga = (ImageButton)e.Item.FindControl("ImageButton1"); //找到它
imga.PostBackUrl = "b.aspx?id=" + DataBinder.Eval(e.Item.DataItem, "id", "{0:d}"); //改变它的 PostBackUrl
这样用FindControl找到了ImageButton1,想改变什么属性都可以了。
另外,如果想改变PostBackUrl还有另外一种方法:直接在HTML中写判断,下面只是一个简单的例子
<%if (1 == 3){%>
<asp:ImageButton ID="ImageButton1" runat="server" οnclick="ImageButton1_Click"
PostBackUrl="a.html" />
<%}
else{ %>
<asp:ImageButton ID="ImageButton2" runat="server" οnclick="ImageButton1_Click"
PostBackUrl="b.html" />
<%} %>