簡體   English   中英

使用javascript向ASP隱藏字段填充值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM