1

我正在使用 3 层架构在 asp.net 中做一个项目。使用各种试验和错误,我已经成功地将下拉列表中表的列内的值绑定。

我现在坚持的事情是,在页面加载事件期间,我得到了下拉框中的值,这些值在我的表中可用。但真正的问题是我必须将下拉列表中的第一个值作为“选择”或“选择任何一个”。我无法做到这一点。

这是我的代码

        DataTable datatable = new DataTable();
       _bl = new HomeFileUploadBL();
        voo = _bl.SelectNameOfDocument();
        datatable = voo.DocumentName;
        ddlDocument.DataSource = datatable;
        ddlDocument.DataTextField = datatable.Columns["Name"].ToString();
        ddlDocument.DataValueField = datatable.Columns["Name"].ToString();
        ddlDocument.DataBind();

记法为:ddlDocument指DropDownList,datatable指DataTable,_bl指业务类对象,voo.Document指值对象类,Document是DataTable类型。

页面加载后,表中的第一个值就可以在下拉列表中使用。

此外,当我单击下拉列表时,我的第一个值应该是“选择”或“选择任何一个”

我错过了这真的很明显。?

4

3 回答 3

1

嗨尝试这样的事情......

DataRow dtRow = null;  if (ddlDocument.Rows.Count > 0)
    {
        dtRow = ddlDocument.NewRow();
        dtRow[0] = 0;
        dtRow[1] = "Select All";
        ddlDocument.Rows.InsertAt(dtRow, 0);
        ddlDocument.AcceptChanges();

    }
于 2012-07-18T07:43:00.177 回答
1

是的,您错过了添加选择。您可以在绑定下拉列表后手动执行它应该是这样的。我已经修改了你的代码。试试这个。。

DataTable datatable = new DataTable();
    _bl = new HomeFileUploadBL();
    voo = _bl.SelectNameOfDocument();
    datatable = voo.DocumentName;
    ddlDocument.DataSource = datatable;
    ddlDocument.DataTextField = datatable.Columns["Name"].ToString();
    ddlDocument.DataValueField = datatable.Columns["Name"].ToString();
    ddlDocument.DataBind();
    ddlDocument.Items.Insert(0, new ListItem("Select", "0"));
于 2012-07-18T07:43:02.990 回答
1

在 DataBind 之后添加

ddlDocument.Items.Insert(0, new ListItem("Select", "0"));

或者

ddlDocument.Items.Insert(0, new ListItem("Choose any one", "0"));
于 2012-07-18T07:43:37.910 回答