【发布时间】:2017-01-23 23:10:35
【问题描述】:
我正在尝试在单击按钮时使用外部 javascript 调用 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,它位于 Scripts 文件夹中。
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(字符串查询)
-
AFAIK aspx.cs 中的方法需要是静态的并且还用
[System.Web.Services.WebMethod]标记。你已经试过了吗? -
谢谢你..我错过了“静态”
标签: javascript c# asp.net external