2016-04-30 3 views
0

У меня возникла проблема при изменении проекта asp.net webforms на семантический интерфейс. Ниже приведена одна из моих форм; когда я нажимаю кнопку «Отправить», он запускает обработчик событий на стороне сервера, но я получаю пустую строку вместо того, что я ввел в текстовое поле.Semantic UI Modal не смог получить данные формы

Звено, называют модальный:

<a href="#" data-modal="recovermodal" class="callmodal">Recover Password</a> 

модальных в HTML:

<div class="ui small modal" id="recovermodal"> 
    <form class="ui large form" runat="server"> 
    <i class="close icon"></i> 
    <div class="header"> 
    RECOVER PASSWORD 
    </div> 

    <div class="content"> 
    <div class="description"> 

<div class="field"> 
    <label>E-MAIL</label><%-- 
    <input type="text" name="rev-email" placeholder="E-MAIL">--%> 
     <input type="text" ID="txtRP_Email" name="rev-email" runat="server" placeholder="E-MAIL" /> 
    </div> 
    <div class="field"> 
     <label>PHONE NUMBER</label><%-- 
     <input type="text" name="rev-phone" placeholder="PHONE NUMBER">--%> 
      <input type="text" ID="txtRP_MobileNo" name="rev-phone" placeholder="PHONE NUMBER" runat="server" /> 
     </div> 
     <div class="custommodalfooter"> 
      <div class="ui reset button offmodal">DISCARD</div> 
       <asp:LinkButton ID="btnRecoverPassword" runat="server" CssClass="ui green submit right labeled icon button" onclick="dorecover_Click"> 
        <%= base.GetLocalText("html_buttonConfirm")%> 
       </asp:LinkButton> 
      <!-- <button class="ui reset button offmodal">DISCARD</button><button class="ui positive right labeled icon button" type="submit"><i class="right arrow icon"></i> 
       CONFIRM 
       </button> --> 
     </div> 
    </div> 
</div> 

    </form> 

</div> 

стороне сервера: Вот где я получаю электронную почту и MobileNo как пустая строка

protected void dorecover_Click(object sender, EventArgs e) 
{ 
    String Email = txtRP_Email.Value.Trim(); 
    String MobileNo = txtRP_MobileNo.Value.Trim(); 
} 

ответ

0

Пожалуйста, попробуйте для получения ваших значений от Request.Form.

protected void dorecover_Click(object sender, EventArgs e) 
{ 
    String Email = Request.Form.Item["txtRP_Email"].Trim(); 
    String MobileNo = Request.Form.Item["txtRP_MobileNo"].Trim(); 
} 

Возможно, существует необходимость в преобразовании в тип строки перед использованием Trim(). У меня не было возможности проверить этот код, но теоретически это то, что вам нужно.

0

Вы не показываете все, но не отображаемые (видимые: нет) поля не публикуются. Когда нажата кнопка «одобрить» (ok) в диалоговом окне, она может установить видимость диалога «none» перед отправкой формы.

Если вы обрабатываете обратный вызов onApprove в диалоговом окне и возвращаете false, это может решить проблему, так как возвращение false не позволяет модаму скрываться.

Однако вам может потребоваться вызвать dorecover_Click из самого обработчика onapprove, вместо того, чтобы иметь его непосредственно на кнопке, если вызов postback вызывается перед обработчиком onApprove.

Смотрите этот вопрос, чтобы вы начали в правильном направлении: Stack Overflow: Calling an ASP.NET EventHandler from JavaScript

Смежные вопросы