PostbackUrl и параметр строки запроса - PullRequest
1 голос
/ 19 сентября 2009

Почесывая голову об этом. В отрисованном HTML-коде для приведенного ниже кода btnEdit (в GridView) имеет правильный Javascript в параметре onclick (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>

1 Ответ

4 голосов
/ 20 сентября 2009

похоже, вам не нужен тег привязки данных (<% #) для кнопки btnAddNew. Таким образом, вы можете назначить это свойство на стороне сервера: </p>

btnAddNew.PostBackUrl = "EditUser.aspx?action=" + Constants.actionAdd;
...