2016-02-11 49 views
0

試圖驗證usercontrol中的文本,我無法獲取調用頁面中文本的值。用戶控件上的Asp.Net jquery

Follwing是aspx頁面的代碼,ucPassengerNameBlock

<div class="col-sm-4"> 
 
      <div> 
 
       <asp:Label ID="lblFirstName" runat="server" meta:resourcekey="lblFirstNameResource1" Text="First Name(s)" />* 
 
      </div> 
 
      <div class="form-group"> 
 
       <asp:TextBox ID="txtFirstName" CssClass="form-control" runat="server" meta:resourcekey="txtFirstNameResource1" /> 
 
       <asp:RequiredFieldValidator runat="server" ID="reqFirstName" ControlToValidate="txtFirstName" ForeColor="" ErrorMessage="Enter First Name" CssClass="err_red" /> 
 
      </div> 
 
     </div> 
 
    

此外,在用戶控件有這個用戶控件文本框

public string FirstName 
    { 
     get 
     { 
      txtFirstName.Text = txtFirstName.Text.Trim(); 
      return txtFirstName.Text; 
     } 

     set 
     { 
      txtFirstName.Text = value; 
     } 
    } 

的公共方法在頁面,我正在嘗試讀取值

function ValidateNameIput() { 

     var textfirstName = $("#<%= FirstName%>").val(); 
     var a = $('#<%= FirstName %>').val(); 
      //$("#mainContent_NameBlock1_lblFirstName").text(); 
     // alert(label_text); 

     var trytext = $("ctl00_mainContent_NameBlock1_txtFirstName").text(); 


     if (textfirstName == null || textfirstName.trim.length == 0) { 
      return false; 
     } 
    } 

但無法做到。

+0

可以將某些有一點我怎樣才能獲得價值 – makdu

回答

0

你必須選擇通過其ClientID你的控制:

var textfirstName = $("#<%= lblFirstName.ClientID %>").val(); 
+0

使用VAR textfirstName = $( 「#<%= txtFirstName.ClientID%>」)。 VAL();並獲得名稱'txtFirstName'不存在於當前上下文 在System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)@roland – makdu