在 .Net 中预选下拉值
Preselecting Dropdown value in .Net
我有一个网络表单,其字段根据下拉列表的值而变化。有没有一种方法可以在加载时将 link 添加到此页面 select 这些值之一。
例如,如果表单是关于旅行的,则外部 "car" link 将在下拉列表中自动 select "car"。
您可以使用 QueryString 参数,例如 ?preselect=car
,然后在您的代码中根据该参数的值进行操作:
<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
private void page_load(Object sender, EventArgs e)
{
if (Request.QueryString.AllKeys.Contains("preselect"))
{
MyDropDownList.Items.Cast<ListItem>()
.Where(li => li.Value == Request.QueryString["preselect"].ToString())
.First().Selected = true;
}
}
</script>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList runat="server" ID="MyDropDownList">
<asp:ListItem Value="asdf">Something</asp:ListItem>
<asp:ListItem Value="car">Car</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
我有一个网络表单,其字段根据下拉列表的值而变化。有没有一种方法可以在加载时将 link 添加到此页面 select 这些值之一。
例如,如果表单是关于旅行的,则外部 "car" link 将在下拉列表中自动 select "car"。
您可以使用 QueryString 参数,例如 ?preselect=car
,然后在您的代码中根据该参数的值进行操作:
<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
private void page_load(Object sender, EventArgs e)
{
if (Request.QueryString.AllKeys.Contains("preselect"))
{
MyDropDownList.Items.Cast<ListItem>()
.Where(li => li.Value == Request.QueryString["preselect"].ToString())
.First().Selected = true;
}
}
</script>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList runat="server" ID="MyDropDownList">
<asp:ListItem Value="asdf">Something</asp:ListItem>
<asp:ListItem Value="car">Car</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>