获取asp按钮单击下拉列表的值

时间:2013-08-16 08:50:48

标签: c# javascript jquery asp.net

我正在尝试在其他下拉列表(即dropdown1)的值基础上填充下拉列表(即dropdown2),它填充正常,现在我的问题是当我点击asp按钮获取下拉列表的选定值时2它将返回空白值,我不明白出了什么问题?

HTML

<select runat="server" id="ddlFilter" ClientIDMode="Static">
    <option value="0">Both</option>
    <option value="1">Add new</option>
    <select runat="server" id="ddlDepartment" ClientIDMode="Static"></select>
    <asp:Button ID="btnSearch" runat="server" Text="Show Report" CssClass="search_btn" onclick="btnSearch_Click" />

JS

<script>
$(document).ready(function () {
    $("#ddlFilter").change(function () {
        if ($("#ddlFilter").val() > 0) {
            $("#ddlDepartment").append( < option > New < option > );
        }
    });
});
</script>

C#

protected void btnSearch_Click(object sender, EventArgs e) {
    string val= ddlDepartment.Value;
}

5 个答案:

答案 0 :(得分:6)

如果您在javascript中添加选项,则无法从下拉列表中获取所选值。 你可以使用:

string selectedValue = Request.Form[ddlDepartment.UniqueID];

请参阅Question

答案 1 :(得分:1)

更改此

if ($("#ddlFilter").val() > 0) 

if ($(this).val() > 0) 

更改此

 $("#ddlDepartment").append( < option > New < option > );

$("#ddlDepartment").append( '<option>New</option>');

答案 2 :(得分:1)

如果要从C#代码后面的下拉列表中获取值,则需要在第一个下拉列表中添加新项目列出SelectedIndexChanged事件,并将“新选项”添加到下拉项目集合中。

步骤如下:

1)为ddlFilter添加SelectedIndexChanged
2)检查ddlFilter的值是否为“1”
3)如果值为“1”,则将“新选项”ListItem添加到下拉列表名称ddlDepartment。

然后当按下按钮时,您应该获得所选值,因为项目现在位于下拉列表集合中。

答案 3 :(得分:1)

尝试喜欢这个,

ddlFilter.Items[ddlFilter.SelectedIndex].Text;

将返回您的字符串文字Both,Add new

ddlFilter.Items[ddlFilter.SelectedIndex].value;

将返回您的值0,1

答案 4 :(得分:0)

您将找到dropdown的100个解决方案,

c#String Val=ddlDepartment.SelectedItem.Value;