有谁知道如何在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的显示列表?
答案 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;
希望其中一个适合你。