C# 动态绑定下拉控件';选择

C# 动态绑定下拉控件';选择,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有一个主页,在那里我通过控件创建了div。现在,在按钮上的单击事件中,我将页面重定向到注册表单,其中有一个控件 在注册页面的Page\u Load事件中,我正在填充数据库中的下拉列表,并设置DataTextField和DataValueField 现在,我将EventTypeID分配给下拉列表.DataValueField和Name分配给下拉列表.DataTextField。我还检查了呈现时的下拉列表是否在值字段中包含EventTypeID 代码如下: protected void Page_

我有一个主页,在那里我通过
控件创建了div。现在,在
按钮上的单击事件中,我将页面重定向到注册表单,其中有一个
控件

在注册页面的
Page\u Load
事件中,我正在填充数据库中的下拉列表,并设置
DataTextField
DataValueField

现在,我将
EventTypeID
分配给
下拉列表.DataValueField
Name
分配给
下拉列表.DataTextField
。我还检查了呈现时的下拉列表是否在
字段中包含
EventTypeID

代码如下:

protected void Page_Load(object sender, EventArgs e)
    {
        EventTypeLogic eventTypeLogic = new EventTypeLogic();
        int eventTypeID = Convert.ToInt32(Request.QueryString["Id"]);

        ddlEventType.DataSource = eventTypeLogic.populateEventTypeDDL();
        ddlEventType.DataValueField = "EventTypeID";
        ddlEventType.DataTextField = "Name";
        ddlEventType.DataBind();
        ddlEventType.Items.Insert(0, new ListItem("Select Event Type", "0"));

        if (eventTypeID > 0)
        {
            ddlEventType.SelectedIndex = eventTypeID;
        }
    }
下拉式aspx代码:

<asp:DropDownList ID="ddlEventType" runat="server" CssClass="span2 form-info" />

如果您希望将
EventName
显示为
Ddl
中的预选值,那么只需使用
eventTypeId
启动一个查询,并获取该事件的所有信息,然后重试

// i suppose when you fire query you get an Object `EventDetails`
if (eventTypeID > 0)
        {
            ddlEventType.SelectedIndex = eventTypeID;
ddlEventType.SelectedValue = EventDetails.EventTypeID.ToString();
        }
这应该管用

protected void Page_Load(object sender, EventArgs e)
    {
        EventTypeLogic eventTypeLogic = new EventTypeLogic();
        int eventTypeID = Convert.ToInt32(Request.QueryString["Id"]);

        string name = eventTypeLogic.resolveToName(eventTypeID);

        ddlEventType.DataSource = eventTypeLogic.populateEventTypeDDL();
        ddlEventType.DataValueField = "EventTypeID";
        ddlEventType.DataTextField = "Name";
        ddlEventType.Items.Insert(0, new ListItem("Select Event Type", "0"));
        //ddlEventType.DataBind();


        ddlEventType.SelectedIndex = eventTypeID;
        ddlEventType.DataBind();

    }
// i suppose when you fire query you get an Object `EventDetails`
if (eventTypeID > 0)
        {
            ddlEventType.SelectedIndex = eventTypeID;
ddlEventType.SelectedValue = EventDetails.EventTypeID.ToString();
        }