ボタンをクリックしたときに外部JavaScriptを使用してaspx.cs関数を呼び出そうとしています。外部jsを使用してaspx.cs関数を呼び出す(ボタンクリック時)
はここでここでScriptsフォルダに配置され、私のjavascriptのlookup.jsあるASPX
<head runat="server">
<title></title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%= ResolveUrl ("~/Scripts/lookup.js") %>"></script>
</head>
<body>
<section class="webdesigntuts-workshop">
<asp:ScriptManager ID='ScriptManager1' runat='server' EnablePageMethods='true' />
<form id="form1" runat="server">
<asp:TextBox type="search" name="search" id="sform" placeholder="What are you looking for?" runat="server" />
<asp:TextBox type="search" name="hdnText" id="hdnText" runat="server" />
<button id="Button1" runat="server" onclientclick="lookup();return false;">Search</button>
</form>
</section>
</body>
です。
function Signup() {
var query = document.getElementById('<%=sform.ClientID %>').value;
PageMethods.lookupfromjs_Click(query);
function onSucess(result) {
alert(result);
}
function onError(result) {
alert('Cannot process your request at the moment, please try later.');
}
}
ここにはaspx.cs機能があります。
protected void lookupfromjs_Click(String query)
{
if (!String.IsNullOrEmpty(query))
{
hdnText.Text = "query= " + query + " look up number " + lookup_no++;
// sform.Text= "You are looking up the term " + query;
}
}
VSまたはブラウザにはエラーはありません。しかし、私のブレークポイントはブラウザには入りません。Javaスクリプトはブラウザによって正しく読み込まれます。しかし、ボタンをクリックすると何も起こらないようです。
ご協力いただければ幸いです。
これはなんですか? 'protected void lookupfromjs_Click(String query) –
AFAIK aspx.csのメソッドは静的で、 '[System.Web.Services.WebMethod]'でマークする必要があります。あなたはすでにこれを試しましたか? – Kolichikov
ありがとう..私は "静的"を逃した – codingyo