0

ここでは、この問題に非常に近いさまざまな質問を見てきましたが、この特定のシナリオに当てはまると思われるものはありません。

説明:マスターページに[ログオン]ボタンのある[ID]フィールドと[パスワード]フィールドがあります。これらは「LoginValidationGroup」にあり、正常に機能します。

これで、Default.aspxに、「NotifyMeValidation」グループにある電子メールのTextBoxと送信ボタンがあり、それらも機能しますが、送信ボタンではなくEnterキーを押した場合は機能しません。[送信]ボタンは正常に機能します-Enterキー...それほど多くはありません。

Enterキーを押すと、TextBoxがCausesValidation = "true"に設定されていて、NotifyMeValidationグループにある場合でも、LoginValidationGroupで検証が行われます。

私は人々がそのボックスに電子メールを入力してEnterキーを押すことを保証します。私は...するだろう!!!その場合、上部にユーザーIDが必要であることを示すコールアウトバルーンが表示されます。

ここでの私のエラーは何ですか?実際のコードを投稿する必要がある場合は、投稿できます。

実は、先に進んでそれをやらせてください。

Default.aspxから:

<asp:RequiredFieldValidator 
    runat="server"
    ValidationGroup="NotifyMeValidation"
    ID="EmailRequiredValidator"  
    ControlToValidate="SenderEmailTextBox"
    ErrorMessage="Email is Required" 
    Display="None" />
<ajaxToolkit:ValidatorCalloutExtender 
    runat="Server"
    PopupPosition="Left"
    ID="EmailRequiredValidatorExtender"
    Width="185px"
    TargetControlID="EmailRequiredValidator" 
    WarningIconImageUrl="/Images/warning.gif" />
<asp:Label ID="SenderEmailLabel" runat="server" ssociatedControlID="SenderEmailTextBox" EnableViewState="false" Text="Email:"></asp:Label>&nbsp;&nbsp;
<asp:TextBox ID="SenderEmailTextBox" runat="server" ValidationGroup="NotifyMeValidation" Width="350" BackColor="#cccccc" CausesValidation="true"></asp:TextBox>
<br /><br />
<asp:Button ID="SubmitButton" runat="server" ValidationGroup="NotifyMeValidation" EnableViewState="false" CssClass="submit" Text="Send" CausesValidation="true" OnClick="btnSubmit_Click" />

マスターページから:

<asp:Label CssClass="LoginHeading" ID="UserNameLabel" runat="server" AssociatedControlID="UserNameTextbox">UserName:&nbsp;</asp:Label>
<asp:TextBox CssClass="LoginTextBox" ID="UserNameTextbox" runat="server"  ValidationGroup="LoginValidation" CausesValidation="True"></asp:TextBox>&nbsp;
<asp:Label CssClass="LoginHeading" ID="PasswordLabel" runat="server" AssociatedControlID="PasswordTextbox">Password:&nbsp;</asp:Label>
<asp:TextBox CssClass="LoginTextBox" ID="PasswordTextBox" runat="server" TextMode="Password" ValidationGroup="LoginValidation" CausesValidation="True"></asp:TextBox>&nbsp;
<asp:Button CssClass="LoginHeading" ID="LoginButton" runat="server" Text="Button" CommandName="Login"  ValidationGroup="LoginValidation" CausesValidation="True" onclick="LoginButton_Click" />

そしてマスターページバリデーター...

<asp:RequiredFieldValidator runat="server" ID="UIDRequired"
    ValidationGroup="LoginValidation"   
    ControlToValidate="UserNameTextbox"  
    Display="None"  
    ErrorMessage="<b>Required Field Missing</b><br />A User ID is required." />  
<ajaxToolkit:ValidatorCalloutExtender 
    runat="Server"
    ID="UIDValidationExtender"
    PopupPosition="Left"
    Width="185px"
    TargetControlID="UIDRequired" 
    WarningIconImageUrl="/Images/warning.gif" />
<asp:RequiredFieldValidator runat="server" ID="PWRequired"   
    ValidationGroup="LoginValidation" 
    ControlToValidate="PasswordTextbox"  
    Display="None"  
    ErrorMessage="<b>Required Field Missing</b><br />A password is required." />
<ajaxToolkit:ValidatorCalloutExtender 
    runat="Server"
    ID="PWValidationExtender"
    PopupPosition="Left"
    TargetControlID="PWRequired" 
    Width="185px"
    WarningIconImageUrl="/Images/warning.gif" />
<asp:CustomValidator 
    runat="server" 
    Display="None"
    ValidationGroup="LoginValidation" 
    ID="CustomUserExistsValidator"
    ControlToValidate="UserNameTextbox" 
    ErrorMessage="<b>Invalid UserID!</b><br />User ID doesn't exist. Please try again.<br />"
    OnServerValidate="CustomCheckUserExists"/>
<ajaxToolkit:ValidatorCalloutExtender 
    runat="server" 
    PopupPosition="Left"
    ID="UserIDCalloutExtender"
    TargetControlID="CustomUserExistsValidator"
    Width="185px"
    WarningIconImageUrl="/Images/warning.gif" />
<asp:CustomValidator 
    runat="server" 
    ID="CustomPWValidator"
    Display="None"
    ValidationGroup="LoginValidation" 
    ControlToValidate="PasswordTextbox" 
    ErrorMessage="<b>Invalid Password!</b><br />Please try again.<br />"
    OnServerValidate="CustomValidatePassword"/>
<ajaxToolkit:ValidatorCalloutExtender 
    runat="server" 
    PopupPosition="Left"
    ID="PWCalloutExtender"
    TargetControlID="CustomPWValidator"
    Width="185px"
    WarningIconImageUrl="/Images/warning.gif" />
<asp:CustomValidator 
    runat="server" 
    ID="CustomUserApprovedValidator"
    Display="None"
    ValidationGroup="LoginValidation" 
    ControlToValidate="UserNameTextbox" 
    ErrorMessage="<b>Approval Error!</b><br />This UserID exists, but is not yet approved.<br />"
    OnServerValidate="CustomCheckUserApproved"/>
<ajaxToolkit:ValidatorCalloutExtender 
    runat="server" 
    PopupPosition="Left"
    ID="UserApprovedCalloutExtender"
    TargetControlID="CustomUserApprovedValidator"
    Width="185px"
    WarningIconImageUrl="/Images/warning.gif" />
4

2 に答える 2

3

<asp:Panel>コントロールの各セットの周りに追加し、ユーザーがヒットしたときにクリックするボタンのIDにDefaultButtonプロパティEnterを設定してみてください。

于 2013-03-12T19:44:19.137 に答える
1

ここで何が起こっているかを説明するために、テキストボックスでEnterキーを押すと、aspxのデフォルトボタンが起動されます。これを処理するために、テキストボックスでEnterキーがクリックされたときに、jQueryコードを起動できます。このコードは、必要な特定のボタンのクリックを実行します。これをチェックして

于 2013-03-12T19:47:38.140 に答える