如何在asp:DropDownList中默认选中的值

时间:2011-05-04 23:26:38

标签: c# .net

有谁知道如何在asp中默认选择值:DropDownList?

以下是我的代码:

<tr>
    <th align="right"><strong>Test: </strong></th>
    <td>
      <asp:DropDownList ID="Test" runat="server" DataSourceID="dsTest"
        DataValueField="TestID" DataTextField="TestName" AppendDataBoundItems="true">
        <asp:ListItem></asp:ListItem>
      </asp:DropDownList>  
      <asp:SqlDataSource ID="dsTest" runat="server" ConnectionString="<%$ ConnectionStrings:Test %>"
        SelectCommand="test_select" SelectCommandType="StoredProcedure">
      </asp:SqlDataSource>
   </td>
</tr>

如何选择TestID为1的显示列表?

2 个答案:

答案 0 :(得分:5)

如果您想在默认情况下执行此操作,则首先有一个选项。

<asp:ListItem Selected="True"></asp:ListItem>

或者您可以在代码中执行此操作

Test.selectedIndex = 0;

答案 1 :(得分:0)

你可以在后面的代码绑定数据后添加它吗?

<tr>
    <th align="right"><strong>Test: </strong></th>
    <td>
      <asp:DropDownList ID="Test" runat="server" DataSourceID="dsTest"
        DataValueField="TestID" DataTextField="TestName" AppendDataBoundItems="true" ondatabound="AddDefaultItem">
        <asp:ListItem></asp:ListItem>
      </asp:DropDownList>  
      <asp:SqlDataSource ID="dsTest" runat="server" ConnectionString="<%$ ConnectionStrings:Test %>"
        SelectCommand="test_select" SelectCommandType="StoredProcedure">
      </asp:SqlDataSource>
   </td>
</tr>

然后在代码背后:

protected void AddDefaultItem(object sender, EventArgs e)
{
    Test.Items.Insert(0, new ListItem("", ""));
}

更新:

在读完最后一句后,听起来你可能想要有值为1的列表项。这样做会使用下面的代码:

Test.Items.FindByValue("1").Selected = true;

希望其中一个适合你。