2016-04-30 35 views
0

將我的asp.net webforms項目更改爲語義UI時出現問題。以下是我的一個表格;當我點擊提交按鈕時,它觸發一個事件處理程序服務器端,但我得到一個空字符串,而不是我輸入到文本框。語義UI模式未能獲取表單數據

鏈接調用模式:

<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

您沒有顯示所有內容,但未顯示(可見:無)字段。當單擊對話框的「批准」(確定)按鈕時,可能會在表單發佈之前將對話框的可見性設置爲「無」。

如果您處理對話框的onApprove回調並返回false,則可能會解決問題,因爲返回false會導致模式隱藏。

但是,如果在onApprove處理程序之前調用回發,則可能需要從onapprove處理程序本身調用dorecover_Click,而不是直接在按鈕上調用dorecover_Click。

看到這個問題,讓你在正確的方向開始: Stack Overflow: Calling an ASP.NET EventHandler from JavaScript