.net 如何将自己的JavaScript链接到客户端而不丢失回发功能

.net 如何将自己的JavaScript链接到客户端而不丢失回发功能,.net,asp.net,javascript,webforms,postback,.net,Asp.net,Javascript,Webforms,Postback,所以我在Scott Hanselman的博客上读这些Asp.Net,我遇到了这个问题。任何人都可以解释一下他在说什么。我想他在这里要问的是如何连接javascript函数以与ASP.NET回发功能协同工作 i、 e.如何使用自己的JavaScript触发控件的事件 ASP.NET类库包含一个ClientScript类-可在System.Web.UI.Page类中找到-它使您能够以编程方式将JavaScript添加到ASP.NET页面 这包含一个名为GetPostBackEventReferenc

所以我在Scott Hanselman的博客上读这些Asp.Net,我遇到了这个问题。任何人都可以解释一下他在说什么。

我想他在这里要问的是如何连接javascript函数以与ASP.NET回发功能协同工作

i、 e.如何使用自己的JavaScript触发控件的事件

ASP.NET类库包含一个
ClientScript
类-可在
System.Web.UI.Page
类中找到-它使您能够以编程方式将JavaScript添加到ASP.NET页面

这包含一个名为
GetPostBackEventReference
的方法,该方法将生成ASP.NET用来触发连接到web控件的事件的
\uuuDoPostBack
脚本


希望这是有意义的

你的意思是这样的:

在代码隐藏中:

protected string GetPostBack()
{
    return ClientScript.GetPostBackEventReference(this, null);
}
在您的aspx中:

<a href="javascript:<%=GetPostBack() %>">Click here to postback</a>

编辑
我在采访中的回答是,
OnClientClick
属性意味着您可以添加一些JavaScript而不丢失回发功能

解释回发是如何工作的

回发是web协议之上的抽象,它模拟无状态协议上的有状态行为

,在客户端和

在客户端,通过javascript调用和隐藏字段实现回发,这些字段存储页面上所有控件的状态

和服务器端

服务器端经历了事件的生命周期,该生命周期的一部分是viewstate的水合作用,以保持页面上所有控件的状态,以及基于传递到客户端上的_doPostBack调用的参数引发事件

如何将自己的JavaScript链接到 在不损失的情况下保护客户端 回发功能

取决于需要什么。99%工作时间的最简单方法是使用asp:hiddenfield在客户端和服务器端之间进行通信。对于边缘情况,您希望通过MS ajax API进入EXENDER并在javascript中操作viewstate/controlstate/clientstate。这是一个非常痛苦的学习曲线和大量的陷阱,通常使用隐藏字段和手动调用_doPostBack就足够了



这就是我要回答的要点。要了解更多关于“doPostBack”的信息,快速的谷歌搜索会给你大量的结果(对于懒惰的人来说,这是第一次点击)

你到底需要解释什么?基本上是他在说什么,以及如何做的任何指示。可能是一篇文章的链接或什么的。我想补充一点,我对Asp.Net不是很精通。
<asp:LinkButton ID="lbEdit" CssClass="button" 
    OnClientClick="javascript:alert('do something')" 
    onclick="OnEdit"  runat="server">Edit</asp:LinkButton>