繁体   English   中英

回发后如何绑定DropDownList?

[英]How do I bind a DropDownList after postback?

我有一个带DropDownList的aspx网站。 我希望能够在3个变量之间进行选择,然后保留所选的回发值。 制作该页面以便它从数据库中加载10个条目,并使用此DropDownList我希望能够在10、20、30个条目之间进行选择。

下拉列表

<asp:DropDownList ID="dd1" runat="server" AutoPostBack="True"  EnableViewState="True">
    <asp:ListItem Value="10">10</asp:ListItem>
    <asp:ListItem Value="20">20</asp:ListItem>
    <asp:ListItem Value="30">30</asp:ListItem>
</asp:DropDownList>

在这里,我尝试设置要发送到数据库的查询的值,该查询将得出10、20或30个第一项。

public IEnumerable<XX> repOrder_GetData([ViewState]DateTime? UpdatedRows)
{
    var ordrar = _facade.OrderGetForAttest(1, Convert.ToInt32(dd1.SelectedValue));

    return ordrar;
}

我如何在回发期间保留此值,因为每次您在DropDownList中选择某些内容时页面都会重新加载,导致仅选择第一个值。

protected void Page_Init(object sender, EventArgs e)
        {
            try
            {
                _masterpage = this.Master as XX.resource.masterpage.Site;

            }
            catch (Exception)
            {
                throw;
            }
        }


       protected void Page_Load(object sender, EventArgs e)
    {
        // Kolla behörighet första gången.
        KollaBehorighet();

        _masterpage.ClearMessage();

        if (Page.IsPostBack)
        {

        }
        else
        {
            Page.DataBind();
            // Första gången..
            PageInit();
            FillPage(null);
            //FIXME: xxx.Focus();                             
        }

    }

您应该设置“ OnSelectedIndexChanged”事件。

<asp:DropDownList ID="dd1" runat="server" AutoPostBack="True" onselectedindexchanged="ddlItemSelected"  EnableViewState="True">
    <asp:ListItem Value="10">10</asp:ListItem>
    <asp:ListItem Value="20">20</asp:ListItem>
    <asp:ListItem Value="30">30</asp:ListItem>
</asp:DropDownList>


protected void ddlItemSelected(object sender, EventArgs e)
{
//Add your selected value to viewstate or session or whatever. Then check this value when binding on postback.
Viewstate["myValue"] = dd1.SelectedValue;
}

您可以尝试将其存储在会话状态中,然后从会话中加载它,如下所示:

Session["Selected"] = dd1.SelectedIndex;

在加载事件中,您可以使用:

dd1.SelectedIndex = Convert.ToInt32(Session["Selected"]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM