javascript - 如何在 page_load() 之前使用 javascript 填充 html 元素?

标签 javascript asp.net

也许是先有鸡还是先有蛋的问题。

基于这个答案:https://stackoverflow.com/a/27190520/1438215

我想使用 javascript 填充 asp.net 隐藏字段的值(只要可能),然后在服务器端 Page_Load 事件中访问该填充字段的值。

示例:

aspx部分:

<div id="div_BrowserWindowName" style="visibility:hidden;">
    <input type="hidden" name="ctl00$ctl00$BodyContent$MainContent$hf_BrowserWindowName" id="BodyContent_MainContent_hf_BrowserWindowName" />
</div>
<script type="text/javascript">
            function PopBrowserWindowName() {
    if (typeof window.name != undefined) {
        if (window.name == '') {
            var d = new Date();
            window.name = '_myWnd_' + d.getUTCHours() + d.getUTCMinutes() + d.getUTCSeconds() + d.getUTCMilliseconds();
        }
        var eDiv = document.getElementById('div_BrowserWindowName');
        var e = eDiv.getElementsByTagName('input')[0];
        e.value = window.name;
        alert(e.value);
    }
          }

    window.onload = PopBrowserWindowName();
</script>    

aspx.cs 部分(page_load)事件:

if (hf_BrowserWindowName != null)
       {string winID = hf_BrowserWindowName.Value;}

这在回发期间有效,但在页面初始加载时不起作用。

最佳答案

Page_Load 之前,没有 HTML 或 JavaScript,因为响应尚未发送到客户端。您需要学习ASP.NET Page Lifecycle .

您可以使用服务器端代码来填充信息,或者在页面发送到客户端后,您可以使用一些 JavaScript 来填充信息。

关于javascript - 如何在 page_load() 之前使用 javascript 填充 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27950269/

相关文章:

javascript - 为什么 Firefox 在溢出 :hidden element while dragging, 之外触发 mousemove 而不是溢出 :visible?

javascript - 如何用 CoffeeScript 重写 JS

javascript - 如何使用handlebars来处理这样复杂的JSON数据?

javascript - React - ES6 - 动态观察文本区域的总字符长度

asp.net - AJAX 自动完成性能

asp.net - DropDownList 所选项目始终是列表中的第一项

asp.net - SignalR 和 "Cannot perform runtime binding on a null reference"

javascript - 页面之间的通信

javascript - 如何将复选框列表的选定值保存在数组中?

javascript - 找不到它未定义的原因