似乎是FAQ。但是我心里想着一些东西让我解释一下。 我通过多种方式搜索测试,最后我找到了这些灵魂:
所以我需要的是Something Like first solution,但也希望访问 this
对象,甚至 page controls
。和理由不使用第二和第三种解决方案,他们称之为Page-Reload first and then call that method
。这就是我所需要的!
有什么解决方案吗?有小费吗?
的 Additional Info :
我需要类似的东西:通过button_click
调用Method并转到服务器端。在服务器端调用Wcf-Service,最后做一些事情。 (比如绑定网格数据源,更改文本框值等)。
几乎 jQuery with Ajax
就是我的需要。但我这样有问题!
那么如何解决这些问题?
答案 0 :(得分:3)
第一个
在.cs文件中创建WebMethod
[WebMethod]
public static string Foo()
{
//......
}
如果你想使用会话,你应该
[WebMethod(EnableSession = true)] or [WebMethod(true)]
public static string Foo()
{
//......
}
然后,通过js
调用webmothod$.ajax({
type: "POST",
contentType: "application/json",
url: "WebForm1.aspx/Foo",
data: "{}",
dataType: "json",
success: function(){.......}
});
希望它有用......
答案 1 :(得分:3)
[WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static void YourTaskNAme(Your Parameter)
{
// Yuor Code here
}
更新脚本管理器以使其具有以下属性EnablePageMethods="true"
最后使用javascript调用此方法
PageMethods.YourTaskNAme(Your Parameter, OnMethodFinished);
function OnMethodFinished() {
alert('Call to function worked.')
}
答案 2 :(得分:2)
您可以通过Page_Load
和ScriptManager.IsInAsyncPostBack
检查ScriptManager
媒体资源,绕过UpdatePanel
方法中的任何逻辑。