1

为这个挠头。在下面代码的呈现 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>

4

1 回答 1

4

看起来您不需要 btnAddNew 按钮的数据绑定标记 (<%#)。所以你可以在服务器端分配这个属性:

btnAddNew.PostBackUrl = "EditUser.aspx?action=" + Constants.actionAdd;
于 2009-09-19T20:00:19.360 回答