我想在单击按钮时使用外部javascript调用aspx.cs函数。使用外部js调用aspx.cs函数(在按钮单击上)
这里是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>
这是我这是摆在脚本文件夹中的JavaScript lookup.js。
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