如何在 page_load() 之前使用 javascript 填充 html 元素?
How to populate html element using javascript prior to page_load()?
可能是 chicken/egg 问题。
基于这个答案:
我想使用 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,因为Response还没有发送到客户端。你需要学习 ASP.NET Page Lifecycle.
您可以使用服务器端代码来填充信息,或者在将页面发送到客户端后,您可以使用一些 JavaScript 填充信息。
可能是 chicken/egg 问题。
基于这个答案:
我想使用 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,因为Response还没有发送到客户端。你需要学习 ASP.NET Page Lifecycle.
您可以使用服务器端代码来填充信息,或者在将页面发送到客户端后,您可以使用一些 JavaScript 填充信息。