我无法从asp.net的组合框中获取所选值。我通过添加id和runat =“server”并使用bootstrap属性在服务器端编码中使用HTML组合框。如何在按钮单击中获取组合框的值
<div class="form-group">
<label class="col-xs-3 control-label">Size</label>
<div class="col-xs-5 selectContainer">
<select class="form-control" name="size" runat="server" id="Combobox">
<option value="">Choose a size</option>
<option value="s">Small (S)</option>
<option value="m">Medium (M)</option>
<option value="l">Large (L)</option>
<option value="xl">Extra large (XL)</option>
</select>
</div>
</div>
code behind
string value = Combobox.Items.ToString();
答案 0 :(得分:0)
ASP.NET是所谓的服务器端代码,而HTML是客户端代码。这意味着除了ASP.NET生成HTML并将其发送回te客户端之外,HTML和ASP.NET之间没有直接连接。
为了能够从选择框中获取值,您应该使用AJAX请求在选择更改后立即将值发布到服务器,或者强制用户发布表单。
由于您似乎正在创建大小选择,我认为使用AJAX方法应该是最好的方法。
答案 1 :(得分:0)
在代码隐藏中,html - select
runat=server
为Items
,ListItemCollection
返回SelectedIndex
。
您可以使用HtmlSelect.Value
:
string selectedItemValue = null;
string selectedItemText = null;
if(Combobox.SelectedIndex >= 0)
{
ListItem selectedItem = Combobox.Items[Combobox.SelectedIndex];
selectedItemValue = selectedItem.Value;
selectedItemText = selectedItem.Text;
}
或使用具有相同功能的{{3}}属性:
string selectedItemValue = Combobox.Value; // String.Empty if no item selected