多くの関連する質問がありましたが、jqueryを介してページメソッドにパラメータを渡すコードの簡単な例は見つかりませんでした。ASP.NETフォーム:jqueryを使用してasp.netにポストするパラメータを持つページメソッド
私はencosia.com(Daveのおかげです)でいくつかの例を見てきましたが、まだそれを稼働させることはできませんでした。これまでのコードは次のとおりです。
更新 - paramsを渡すコードがいくつか追加されましたが、それでも動作しません。
Test.aspxという:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>test page</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Add the page method call as an onclick handler for the div.
$("#Result").click(function() {
var intxt = document.getElementById("<%= txtIn.ClientID %>").value;
var params = $.toJSON({ 'inStr': intxt });
$.ajax({
type: "POST",
url: "test.aspx/RunTest",
data: params,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#Result").text(msg);
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="Result">Click here</div>
<asp:TextBox ID="txtIn" runat="server"></asp:TextBox>
</form>
</body>
</html>
とtest.aspx.vbで:
<WebMethod()> _
Public Shared Function RunTest(ByVal instr As String) As String
Return "this is your string: " + instr
End Function
更新:
RUNTESTは、上記menthodが呼び出されることはありません。しかし、私も持っている場合:
<WebMethod()> _
Public Shared Function RunTest() As String
Return "no params here"
End Function
次に、2番目のメソッドが呼び出されます。
私には何が欠けていますか?これは間違ったアプローチですか?
@Dave Wardさん、ありがとうございました。私もそれにこだわって、大文字と小文字を区別して問題を解決しました。どうもありがとう!。 –