1

これまでカバーされていなかったなんて信じられませんが、Googleでこれに対する答えを見つけるのに苦労しています。

私はASP.NETでAJAXを学んでおり、実用的なプロトタイプがあります。私の唯一の問題は、JavaScriptイベント(正確にはonKeyUp)でAJAX検証を開始したいということですが、ASP.NETはそのバージョンのAJAXのサーバー側イベントのみをサポートしているようです。クライアント側のイベントからAJAXを呼び出すにはどうすればよいですか?

ありがとう

アップデート

私がこのトリックを見つけたことを付け加えたかったのですが、これによりWebサイトがポストバックを実行します。これは、AJAXを実行しようとしても意味がありません。

txtFirstName.Attributes.Add("onKeyUp","__doPostBack('ctl00_ContentPlaceHolder1_txtFirstName','')");
4

2 に答える 2

1

Webフォームの処理を行っていて、一部のコンテンツが入力されているか、少なくともデータの送信後に検証したいようです。

ASP.NETAjaxToolkitを確認することをお勧めします。.dllをダウンロードして、プロジェクトへの参照として追加できます。

ValidatorCallOutを見てください

于 2012-05-31T20:08:49.667 に答える
0

さて、私はw3Schools.comからこのコードを「借りた」ので、彼らにクレジットを与えたいと思います

<script type="text/javascript">
  function val() {
    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("spnFirstName").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "server.aspx", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send();
    //xmlhttp.send("fname=Henry&lname=Ford"); //This is if you want to send values
  }
</script>



First Name: <asp:TextBox ID="txtFirstName" runat="server" OnTextChanged="txtFirstName_TextChanged" AutoPostBack="True" onkeyup="Val()"></asp:TextBox>
<span id="spnFirstName" runat="server" style="color:Red"> </span>

Server.aspxは、「Hello」という単語が含まれている空のページです。ご覧のとおり、この単純なjavascript関数をonKeyUpイベントに関連付けました。これもASP.NETAJAX検証に干渉しないようです。

コアasp.net製品に固執している限り、他の開発者が持っていない可能性のあるライブラリを掘り下げる必要がないため、dllを追加するよりもはるかにうまくこれを行うのが好きです。

于 2012-05-31T20:49:10.090 に答える