2011-05-23 92 views
1

我試圖用戶名可用性檢查添加到註冊組件,我用這中添加一個ontextchanged事件到一個文本框:在註冊組件

protected void checkUser(object sender, EventArgs e)//checking the user name avaliabilty 
{ 
    if (Membership.GetUser(UsernameCheck.Text) != null) 
    { 
     usernameResult.Text = "User Name already Taken"; 
    } 
    else 
    { 
     usernameResult.Text = "User Name Avaliable"; 
    } 
} 

,這是我的aspx:

<tr> 
         <td align="right"> 
          <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName"></asp:Label> 
         </td> 
         <td> 
          <asp:TextBox ID="UserName" runat="server" BorderStyle="None" BorderWidth="1px" 
           CssClass="SuserNameBox" AutoCompleteType="Disabled" AutoPostBack="true" OnTextChanged="checkUser" >Name Extension</asp:TextBox> 
          <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" 
           ControlToValidate="UserName" ErrorMessage="User Name is required." 
           ToolTip="User Name is required." ValidationGroup="mainSignUp">*</asp:RequiredFieldValidator> 
         </td> 

        </tr> 

但ontextchanged事件不會觸發(我試過用外部文本框,它工作正常)。

所以我的問題是如何使用asp.net 3.5

感謝

+0

不知道是不是這個問題,但是你真的想在更新面板中做到這一點,以獲得ajax支持 – 2011-05-23 19:43:55

+0

你是否嘗試把它放在帶有觸發器的更新面板中? – Chad 2011-05-23 19:45:06

+0

@Oskar Kjellin - 我試過它更新面板,但仍然沒有工作 – Wahtever 2011-05-23 19:52:16

回答

0
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <asp:TextBox ID="UserName" runat="server" BorderStyle="None" BorderWidth="1px" 
       CssClass="SuserNameBox" AutoCompleteType="Disabled" AutoPostBack="true" OnTextChanged="checkUser" >Name Extension</asp:TextBox> 
       <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="UserName" EventName="TextChanged" /> 
       </Triggers>       
</asp:UpdatePanel> 

像這樣的事情在註冊組件

內觸發事件的元素。

+0

我試過了,它給了我這個錯誤'無法找到一個名爲'OnTextChanged'的事件關聯控制'用戶名'的UpdatePanel觸發器' – Wahtever 2011-05-23 20:19:41

+0

抱歉事件只是TextChanged – Chad 2011-05-23 20:27:37

+0

錯誤消失了,但事件仍然沒有觸發 – Wahtever 2011-05-23 20:30:24