c# - 如何在 page_load VB.net 之前加载客户端

标签 c# asp.net vb.net

我有一个问题(我正在学习 VB)在 vb.net 中是否有一种方法可以在客户端之后加载 Me.LoadComplete,我开发了这个简单的代码以便于理解我的问题

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
 Handles    Me.LoadComplete
    MsgBox(myhiddenField.Value)
End Sub

客户端

 </script>
<title></title>
<script type="text/javascript">
    $(document).ready(function() {
           $("#<%=myhiddenField.ClientID%>").val('this is the value ') ;
    });

</script>

<form id="form1" runat="server">
<div>
    <asp:LinkButton ID="myLink" runat="server"
      PostBackUrl="~/Default.aspx?value=1" >
      MyLink </asp:LinkButton>

    <asp:HiddenField ID="myhiddenField" runat="server"/>

</div>
</form>

当页面加载时,MsgBox 将为空,但是当您单击链接按钮时,MsgBox 具有您在 javascript 中设置的值,因此我假设 page_load 函数首先被执行 问题是如何在 page_load 之前加载客户端内容?

最佳答案

The ASP.NET Lifecycle说不,因为内容在 Page_Render 之前不会被推送到浏览器,这发生在 Page_Load 之后。

您可以尝试在 Page_Init 中做大量工作,然后使用 Response.Flush()强制服务器向浏览器发送内容,但是

  • 您只会推送已经创建的内容,因此不允许您在 Page_Load 之前将整个页面推送到浏览器
  • 我不确定它是否有效
  • 即使这样做,也会有副作用。例如,您可能需要管理控件创建、Viewstate 值应用等。

即使以任何方式、形状或形式(我对此表示怀疑)都是可能的 - 这将是一个有趣的实验,但我不建议设计一个围绕这个想法的实时应用程序。 Page Lifecycle 是每个 ASP.NET 开发人员都(或应该)熟悉的东西,做这样愚蠢的事情只会让维护程序员更难。

关于c# - 如何在 page_load VB.net 之前加载客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034210/

相关文章:

mysql - 在vb.net中向mysql数据库添加记录

c# - 组合 Datepicker 和 Timepicker 值 Win 8.1

c# - 中央标准时间休息一小时

c# - MySql 查询导致异常 : System.Net.Security._SslStream.ProcessRead

c# - Gridview 排序后自动选择第一行

asp.net - 如何在代码隐藏中使用 Eval 来设置 Page.Title

mysql - 将 MySQL 连接字符串动态更改为 Crystal Reports

c# - 异步/等待和返回任务是否相同?

asp.net - Web.config转换作为第一个子项插入

mysql - Visual Studio Community 2015 MySQL 数据源未出现