.net 如何将自己的JavaScript链接到客户端而不丢失回发功能
所以我在Scott Hanselman的博客上读这些Asp.Net,我遇到了这个问题。任何人都可以解释一下他在说什么。我想他在这里要问的是如何连接javascript函数以与ASP.NET回发功能协同工作 i、 e.如何使用自己的JavaScript触发控件的事件 ASP.NET类库包含一个.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
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>