1

マイページは、ユーザーがユーザー名、メールアドレス、パスワードを入力する登録ページです。これが私のコードビハインドです:

protected void Page_Load(object sender, EventArgs e)
{
}

protected void btnRegister_Click(object sender, EventArgs e)
{
    if (!Page.IsValid)
        return;
}

protected void cvEmail_ServerValidate(object source, ServerValidateEventArgs args)
{
    args.IsValid = false;
}

ここに私のページがあります:

<asp:ValidationSummary ID="vs" runat="server" />

<asp:TextBox ID="txtUsername" runat="server" />
<asp:TextBox ID="txtEmail" runat="server" />
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" />

<asp:Button ID="btnRegister" runat="server" OnClick="btnRegister_Click" />

<asp:CustomValidator ID="cvEmail" runat="server" ControlToValidate="txtEmail" 
    OnServerValidate="cvEmail_ServerValidate"
    ErrorMessage="Invalid Email" />

したがって、問題は、カスタム バリデータが失敗した場合、ページがエラー メッセージでリロードされたときに、テキスト ボックスが空になることです。しかし、奇妙なことに、Firebug のテキストボックス要素を調べるvalueと、inputが設定されているのに、何らかの理由でページに表示されないだけです。

テキストボックスとページで true に設定しようとEnableViewStateしましたが、役に立ちませんでした。

私が間違っていることを知っている人はいますか?

4

1 に答える 1

1

JavaScript の検証が有効になっていますか? または、これらのフィールドに触れる他の JavaScript はありますか?

ページのマークアップに表示されていてもブラウザに表示されない場合は、ページの読み込み後に何かが変更されています。おそらくJavascriptです。

これは、同じコードが別のプロジェクト (ページで同じ JavaScript を共有していない) で機能するという質問のコメントに投稿された調査結果もサポートします。

于 2012-08-20T21:00:19.267 に答える