[英]Populate asp hidden field with value using javascript
我想從服務器端訪問用戶屏幕分辨率。 為此,我有asp hidden
控件:
<asp:HiddenField runat="server" ID="hdnScreenResolution" />
實際在頁面上呈現的內容:
<input type="hidden" name="ctl00$MainContent$hdnScreenResolution" id="MainContent_hdnScreenResolution" />
我使用javascript函數在其中插入值:
$(document).ready(function () {
var width = screen.width;
var height = screen.height;
var hiddenScreenResolution = document.getElementById('<%= hdnScreenResolution.ClientID
%>');
hiddenScreenResolution.value = "asass";
});
它是頁面源代碼:
$(document).ready(function () {
var width = screen.width;
var height = screen.height;
var hiddenScreenResolution = document.getElementById('MainContent_hdnScreenResolution');
hiddenScreenResolution.value = "asass";
});
在服務器端,我檢查Page_Load()
隱藏值:
protected void Page_Load(object sender, EventArgs e)
{
var hiddenValue = hdnScreenResolution.Value;
}
但是值似乎是空字符串。 使用jQuery無濟於事。
直接插入:document.getElementById('<%= hdnScreenResolution.ClientID%>')。value =“ asdasd”; 沒有幫助。
可能是什么問題?
PS我想我在document.ready
上獲得屏幕分辨率為時已晚。 頁面卸載后會觸發javascript。 因此,無需更改即可在初始請求時將其捕獲。
期待得到答案。
在將html發送到客戶端和執行jQuery document.ready
之前,將調用服務器端Page_Load
,因此您在使用javascript分配客戶端之前要訪問值,並且應該為空。
您需要將值從客戶端發送到服務器,可以使用jQuery ajax進行回發,以獲取服務器上的屏幕坐標值。
要查看發生了什么,只需添加asp:button並在其服務器端事件中訪問隱藏的字段值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.