如何在回发后保留下拉数据

时间:2011-05-18 11:03:17

标签: javascript asp.net

我使用Jquery在客户端绑定下拉列表。我使用PageMethods从服务器获取数据。

HTML

<asp:DropDownList ID="ddlCountry" runat="server" ClientIDMode="Static" 
                  onchange="return country_changed();" ViewStateMode="Enabled">
</asp:DropDownList> 

JS

function GetCountryLst() {
    PageMethods.GetCountryList(OnsuccessCountry);
    return false;
}

function OnsuccessCountry(result) {
    $("#ddlCountry").append("<option value='Select'>Select</option>");
    for (var eachval in result) {
         $("#ddlCountry").append("<option value='" + result[eachval].id + "'>" + result[eachval].name + "</option>");
    }
    return false;
}

当我写

时点击按钮
protected void Button2_Click(object sender, EventArgs e)
{
    var ddlcount = ddlCountry.Items.Count;
}

我得到ddlCount = 0;我如何保存数据

2 个答案:

答案 0 :(得分:1)

<input type='hidden' id='items' />

function OnsuccessCountry(result) {
    $("#ddlCountry").append("<option value='Select'>Select</option>");
    for (var eachval in result) {
         $("#ddlCountry").append("<option value='" + result[eachval].id + "'>" + result[eachval].name + "</option>");

    $("#items").val($("#items").val() + ";" + result[eachval].id) ;
    }
    return false;
}

并在服务器端拆分(带;)此隐藏字段的值并获取计数和所有项目..

答案 1 :(得分:0)

如果您使用Page方法填充数据,则无法从服务器端获取下拉列表项。因为当Page_load事件发生时它将被清除。