PostbackUrl 和查询字符串参数
对此我很头疼。在下面代码的渲染 HTML 中,btnEdit(在 GridView 中)的 onclick 参数中具有正确的 Javascript (onclick="javascript:WebForm_DoPostBack...")。 btnAddNew 根本没有 onclick 处理程序。为什么? 没有编译或运行时错误,并且该页面使用具有 Form 标记的母版页。
<ContentTemplate>
<asp:ImageButton ID="btnAddNew" SkinID="btnAddNew" runat="server"
PostBackUrl='<%# "EditUser.aspx?action="+Constants.actionAdd %>' />
<asp:GridView ID="UserGridView"
runat="server"
DataKeyNames="UserId"
>
<Columns>
<asp:TemplateField
<ItemTemplate>
<asp:ImageButton id="btnEdit" SkinID="btnEdit" runat="server"
PostBackUrl='<%# Eval("UserId", "EditUser.aspx?
action="+Constants.actionEdit+"&uid={0}") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Scratching my head about this. In the rendered HTML for the code below, the btnEdit (in the GridView) has the correct Javascript in the onclick parameter (onclick="javascript:WebForm_DoPostBack..."). The btnAddNew has no onclick handler at all. Why?
There is no compilation or runtime error, and the page uses a master page that has the Form tag..
<ContentTemplate>
<asp:ImageButton ID="btnAddNew" SkinID="btnAddNew" runat="server"
PostBackUrl='<%# "EditUser.aspx?action="+Constants.actionAdd %>' />
<asp:GridView ID="UserGridView"
runat="server"
DataKeyNames="UserId"
>
<Columns>
<asp:TemplateField
<ItemTemplate>
<asp:ImageButton id="btnEdit" SkinID="btnEdit" runat="server"
PostBackUrl='<%# Eval("UserId", "EditUser.aspx?
action="+Constants.actionEdit+"&uid={0}") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来您不需要 btnAddNew 按钮的数据绑定标记 (<%#)。因此,您可以在服务器端分配此属性:
it looks like you don't need data binding tag (<%#) for the btnAddNew button. So you can assign this property at server side :