2015-09-25 59 views
1

我正在使用jQuery創建動態文本框。我想在使用asp.net的代碼中訪問每個文本框的值。如何在代碼背後獲取客戶端創建的文本框的值?

HTML(的.aspx)

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

<script type="text/javascript"> 
    $(function() { 
     $("#btnAdd").bind("click", function() { 
      var div = $("<div />"); 
      div.html(GetDynamicTextBox("")); 
      $("#TextBoxContainer").append(div); 
     }); 

    function GetDynamicTextBox() { 
     return '<input id="dynamictxtbx" name = "DynamicTextBox" type="text" />&nbsp;' 
    } 
</script> 

代碼隱藏(.aspx.cs)

protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e) 
{ 
    // I want to access values here // 
} 

我要訪問的ListView1_ItemUpdating函數內的值。我怎樣才能做到這一點?

+0

可能重複: http://stackoverflow.com/questions/857834/asp-net-adding-controls-client-side –

回答

3

首先你需要提供獨特的id到你添加的動態控件,因爲html不允許你添加任何帶有重複id的元素。此外,您可以獲取文本值,確保您已設置文本框的名稱屬性,如下所示,同時動態添加它。

'<input id="dynamictxtbxuniqueID" name = "DynamicTextBox" type="text" />' 

現在爲了讓它進入後面的代碼使用下面提到C#代碼訪問動態文本框

//Get the Textbox value 
string textboxval = Request.Form["DynamicTextBox"]; 

使用此link進一步參考

+0

:Request.Form不能在這裏工作,因爲iam使用listview和代碼後面使用ListView1_ItemUpdating。 – hakkeem

+0

@hakkeem:是的,它可以工作。您將無法以任何其他方式訪問這些值,因爲您的控件不是在服務器端創建的。 –

+0

@Mukesh庫馬爾:我怎樣才能得到每個動態文本框的價值分別? – hakkeem

相關問題