我想知道你是否可以在回发时使用JavaScript或jQuery调用服务器端方法?
我创建了一个锚点按钮,希望它与链接按钮的工作方式相同,即回发并调用事件。所以我认为可以使用JavaScript?
我该怎么做?我在网上做了很多搜索,却找不到任何东西......
<a href="javascript:void(0);" id="SOMEID" onclick="DOPOSTBACK CALL SERVER SIDE METHOD();"></a>;
答案 0 :(得分:2)
您可以做的是向服务器发送AJAX来电。但这是一个非常大的话题,你可以在互联网上找到很多信息。 使用jQuery的最简单的形式是
<a href="javascript:void(0);" id="SOMEID" >Call the server</a>;
$('#SOMEID').click(function(){
$.get('url/on/server', function(data){
//do something with data returned from server
});
});
这会对url url/on/server
进行异步调用,然后等待答案(因为调用是异步的,用户可以继续在页面上执行操作)
答案 1 :(得分:2)
您是否尝试过搜索ajax?
http://api.jquery.com/category/ajax/
网上有很多教程。如果您正在使用dot net,那么还有一个名为dot net ajax的JQuery插件,我发现它非常有用。然而,ajax是一个很大的话题,你的问题非常广泛,所以很难更具体!
答案 2 :(得分:0)
好的,你需要回发。看一下这篇文章 - &gt; http://weblogs.asp.net/mnolton/archive/2003/06/04/8260.aspx
唯一的问题是每次发生回发时都必须调用GetPostbackReference。
答案 3 :(得分:0)
如果你想使用javascript从锚标签回发,你可以
document.forms[0].submit(); //This will post your form
OR
__doPostBack();
OR
如果您想知道哪个控件导致回发。
的JavaScript
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("n etscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
alert(theform.__EVENTARGUMENT.value);
theform.submit();
}
使用以下ASPX代码使其正常工作
<input type="hidden" name="__EVENTTARGET" />
<input type="hidden" name="__EVENTARGUMENT" />
希望这就是你要找的东西。