'contents'という名前のdiv要素とテキストボックスを持つasp.netWebフォームがあります。divにはいくつかのhtmlがロードされており、これをコードビハインドファイルの文字列に取得しました。このhtml内で、テキストのさまざまなビットをマークアップして、ユーザーがそれらをクリックすると、サーバーにメッセージを送り返し、サーバーがテキストボックス(同じフォーム上にある)に他のテキストを入力できるようにする必要があります。データ。
私が抱えている問題は、サーバーに通信するための最善の方法です。したがって、以下のコードでは、
1)ラインアラート("クリックした"+ x); ajaxを使用してサーバーにコールバックし、パラメータ「hello」を送信するようにします。
2)サーバーでどのメソッドが呼び出されますか?もう一度Page_Loadになりますか?
3)サーバーを呼び出した後、ページ全体を再度返送せずに(つまり、まだajaxを使用して)テキストボックスにデータを入力するために必要なコードは何ですか?問題はサーバー上のテキストを取得していないことです。サーバーのパラメーターとして「hello」を受け取り、再びajaxを使用して「さようなら」をテキストボックスに送り返したいとしましょう。
だから私のソースaspxファイルにはこれが含まれています...
そして、form_loadのcodebehindファイルにあります。
System.IO.StreamReader rdr = System.IO.File.OpenText("c:\\myHtmlFile.html");
string s = rdr.ReadToEnd();
this.contents.InnerHtml = s;
div要素にロードしているHTMLはこれです
<script type="text/javascript">
function myfunction(x)
{
alert("You clicked " + x);
}
</script>
<p onclick="myfunction('hello')">hello</p>
ユーザーが「こんにちは」をクリックしたとき、TextBox1に「さようなら」と言ってもらいたい。繰り返しになりますが、Webページを再投稿せずに、ここで処理する必要があるのはサーバーです。
誰かアイデアはありますか?シンプルな方がいいです!前もって感謝します...