我在使用HTML选择控件(非.net服务器控件DropDownList),我想从服务器端设置一个特定值的项目。我怎么做到这一点。我使用asp.net作为服务器端技术。
以下是我的选择框。我不想在其中添加runnat =“server”属性
<select id="ddlPriceBetween" name="ddlPriceBetween">
<option value="0" selected="selected">All</option>
<option value="1">Less than 10,000 Rs. </option>
<option value="2">10,000 - 20,000 Rs. </option>
<option value="3">20,000 - 30,000 Rs. </option>
<option value="4">30,000 - 40,000 Rs. </option>
<option value="5">40,000 - 50,000 Rs. </option>
</select>
答案 0 :(得分:0)
在ASP.NET中,通常的惯例是使用服务器端控件,它可以更好地与Postback模型配合使用。所以你可以使用等价物:
<asp:DropDownList ID="filterResultsBy" runat="server" CssClass="ddlFilter">
<asp:ListItem Value="" Text="Select..." />
<asp:ListItem Value="Date" Text="Date" />
<asp:ListItem Value="Subject" Text="Subject" />
<asp:ListItem Value="Status" Text="Status" />
</asp:DropDownList>
允许您访问后面代码中的filterResultsBy变量并检索当前选定的值。为了使这个工作与客户端脚本库(如jQuery)添加一个类并使用类选择器而不是id选择器,因为ASP.NET服务器端控件中出现了名称错误:
$('.ddlFilter').change(function() {
var sel = $(this).val();
if(sel === 'DATE') {
hideAll(); // a function to hide all the divs first
$('#divDateRangeSearch').show();
} else if (sel === 'SUBJECT') {
///so on...
}
});
答案 1 :(得分:0)
如果您不想使用runat='server'
或ASP下拉列表,那么您无法在服务器上访问它。有一件事您应该考虑到html标签的美妙之处在于它在客户端呈现并且它具有没有直接的服务器通信所以,如果你需要,那么你需要间接的方式来设置jquery或javascript选择,即你可以设置隐藏的字段与选定的值,在文件准备就绪,你可以设置选定的值。
答案 2 :(得分:-1)
无法访问.cs页面上的HTML控件。所以在你的情况下把runat服务器放在你的选择控件中,如下所示
<select id="ddlPriceBetween" name="ddlPriceBetween" runat="server">
<option value="0" selected="selected">All</option>
<option value="1">Less than 10,000 Rs. </option>
<option value="2">10,000 - 20,000 Rs. </option>
<option value="3">20,000 - 30,000 Rs. </option>
<option value="4">30,000 - 40,000 Rs. </option>
<option value="5">40,000 - 50,000 Rs. </option>
</select>
您的.cs代码将
ddlPriceBetween.SelectedIndex=yourindex.