在 .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>