2013-11-26 55 views
0

我在這裏獲得在C#中輸入字段的值的過程:沒有得到HTML輸入型的值在ASP.NET C#代碼隱藏

Get value from input html in codebehind c#

我有一個隱藏的輸入字段我的aspx頁面像這樣:

<script type="text/javascript"> 
$(function() { 
     BindUserInfo(); 
    }) 


function BindUserInfo() 
{ 
document.getElementById('lblCountry_val').value = window.strcountry; 
} 
</script> 
<script type="text/javascript" src="http://smart-ip.net/geoip-json?callback=GetUserInfo"></script> 

<input type="hidden" id="lblCountry_val" runat="server" />

凡隱藏字段的值通過jQuery是放

但是當我試圖讓這個在後面的代碼中的Page_Load事件中值:正在打印 Response.Write(lblCountry_val.Value);

沒有。怎麼來的?

編輯 我已經通過將隱藏的輸入字段更改爲不可見的文本框,然後將「name」屬性放在標記中來完成此操作。

<input type="text" id="lblCountry_val" name="lblCountry_val" runat="server" style="display:none" />

而且在後面的代碼:

var txt=Request.Form["lblCountry_val"]; 

雖然我還沒有一個明確的想法是怎麼做的。

+0

您確定隱藏字段正在BindUserInfo()函數中填充嗎?嘗試在寫入隱藏字段之後放置警報,並檢查值是否存儲在該字段中。 – DipraG

+0

我把:alert(window.strcountry);'腳本標籤內部和'document.getElementById ...'之前,它提供了價值。 – leodeep

+0

這個問題不應該在'window.strcountry'中。由於您的隱藏字段是服務器端控件,因此它的ID在客戶端瀏覽器上呈現時將被修改。因此,在ID上做一個「document.getElementById ...」是行不通的。您需要按照以下第一個答案中所示的相同方式獲取客戶端ID,並將值設置爲'window.strcountry'。之後,執行alert(document.getElementById('<%= lblCountry_val.ClientID%>')。值)'來查看該值是否實際存儲在隱藏字段中。 – DipraG

回答

1

第一種方法 - 在aspx中,當您使用Java腳本將值設置爲html字段時,Field的值不會出現在文件後面的代碼(aspx.cs)中。所以你必須做額外的頁面回發來爲隱藏字段設置一個值,然後你就可以捕獲代碼後面的值。

第二種方法 - 使用標記,提交隱藏字段數據相關的aspx page.Then你可以捕捉使用的Request.Form [「lblCountry_val」]陣列的價值。

+0

您能否爲第二種方法提供一段代碼?我沒有得到正確的。 – leodeep

+1

-1因爲沒有提供代碼示例。 – richb01

1

你應該寫

document.getElementById('<%=lblCountry_val.ClientID%>') 

這是因爲在大多數情況下,服務端ID的控制是從它的clientId不同。採取的方式是以上。

0

嘗試......

JavaScript 

<script> 
    $(document).ready(function() { 
     var test = "1"; 
     $("<%=hdn_audio_length.ClientID%>").val(test); 
    }); 
</script> 

Html 

<asp:HiddenField runat="server" ID="hdn_audio_length" /> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<asp:Button ID="button1" runat="server" Text="Click" OnClick="button1_Click" /> 

C# 

protected void button1_Click(object sender, EventArgs e) 
{ 
    TextBox1.Text = hdn_audio_length.Value; 
} 
0

下面是一個例子設置上提交點擊隱藏字段。

`<script> 
    $(document).ready(function() { 
     $("#submit").click(function() { 
      $("#<%= ccnum.ClientID%>").val($("#cc-num").val()); 
      $("#<%= expdate.ClientID%>").val($("#cc-exp").val()); 
      $("#<%= cvc.ClientID%>").val($("#cc-cvc").val()); 
     }); 
    }); 
</script>` 
相關問題