簡體   English   中英

從asp.net代碼后面檢索HtmlSelect選項值

[英]Retrieve HtmlSelect option values from asp.net code behind

我在ASP.Net WebForm應用程序中有一個HTML select控件。 它的選項值是從客戶端的jquery添加的。 當頁面回發時,我想從服務器端讀取這些值。 我有以下代碼,但是它不起作用。 從客戶端添加的選項值在后面的代碼中不可用。 如何使這些值可用於后面的代碼?

//Client code
<select title="Select one" id="selectBooks" multiple="multiple">
     <option value="1">test</option> //added in client side.
</select>

//Code behind
System.Web.UI.HtmlControls.HtmlSelect books= (System.Web.UI.HtmlControls.HtmlSelect)form1.FindControl("selectBooks");

foreach (ListItem item in books.Items)
{
   string test = item.Text.ToString();
}

ASP代碼:

Request["selectedBooks"]

希望這會起作用。

您的服務器只能知道正在提交給它的數據。
向選擇控件添加選項只會在客戶端添加它。
如果用戶選擇該值,則將提交該值,否則服務器將永遠不會接收該數據。
如果必須具有額外的值,則必須確保它們以一種或另一種方式到達服務器。

我想到的第一個想法是將值添加到隱藏的輸入字段以及選擇控件中,以便用戶執行回發時可以從輸入字段讀取值。
像這樣的東西:

//Client code
<input id="selectionData" runat="server" type="hidden" value="2--addedvalue1;3--addedvalue2"/>
<select title="Select one" id="selectBooks" multiple="multiple">
     <option value="1">test</option>
     <option value="2">addedvalue1</option> //added in client side.
     <option value="3">addedvalue2</option> //added in client side.
</select>

//Server side
var data = selectionData.Value;
//add code to parse the data

在這里,我建議您在HTML選擇控件所在的頁面上保留一個隱藏字段

然后在某個按鈕的clientclick事件上設置HTML的所有選定值,然后在此隱藏字段中進行選擇 像HdnValues.value =“ 1,2,3,4”;

現在回發,您可以在服務器上找到隱藏字段值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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