Кнопка Set Panel default выдает ошибку, это должно быть ibuttoncontrol

Я пытаюсь установить кнопку по умолчанию для панели asp. Вместо кнопки asp я использую кнопку с type = "submit". Я получаю сообщение об ошибке: «DefaultButton для 'pnlSSN' должен быть идентификатором элемента управления типа IButtonControl.».

Это код, который у меня есть:

  <div class="input-append" id="divSSN">  <asp:Panel ID="pnlSSN"
 runat="server" DefaultButton="btnSSN">                     
 <asp:TextBox ID="txtSSN" runat="server" CssClass="span8" Width="200px"
 placeholder="Enter valid Social Security Number">
 ValidationGroup="validationSSN" />
 <button runat="server" id="btnSSN"
 onserverclick="btnSSN_Click" causesvalidation="true"
 ValidationGroup="validationSSN" class="btn"
 type="submit">Search</button> </asp:Panel>  </div>

Я также пробовал установить и pnlSSN.DefaultButton = btnSSN.ClientID;, и pnlSSN.DefaultButton = btnSSN.ID;, но получаю ту же ошибку.


person Laziale    schedule 20.05.2013    source источник


Ответы (1)


DefaultButton должен быть серверным элементом управления кнопки ASP.Net вместо html Button

<asp:Panel runat="server" ID="pnlSSN" DefaultButton="btnSSN">
    ...
    <asp:Button runat="server" ID="btnSSN" OnClick="btnSSN_Click" />
</asp:Panel>

Кроме того, ваш тег asp: TextBox плохо отформатирован. Удалите > в конце Number">

person Win    schedule 20.05.2013
comment
Есть ли способ использовать тип кнопки instad кнопки asp.net? Некоторые правила css не работают для кнопки asp, поэтому я переключился на тип кнопки. Спасибо - person Laziale; 20.05.2013
comment
Нет, ты не можешь. Вам нужно соответствовать CSS, а не наоборот. - person Win; 20.05.2013