繁体   English   中英

在ASP.NET C#中刷新页面后,下拉列表仍然有效?

[英]dropdown list is alive after refresh page in asp.net c#?

即时通讯使用2下拉列表,每个都有一个sqldatasource。 我正在通过代码文件设置sqldatasource默认值,

我的代码是

<tr>
        <td>
            Vehicle Type
        </td>
        <td>:</td>
        <td>
            <asp:Label ID="lblVehicle" runat="server" Text="" Visible="false"></asp:Label>
            <asp:DropDownList ID="ddVehicleType" Visible="true" runat="server" CssClass="drop" AutoPostBack="True" AppendDataBoundItems="True" 
                DataSourceID="SqlDataSource2" DataTextField="VehicleName" DataValueField="VehicleTransId" OnSelectedIndexChanged="ddVehicleType_SelectedIndexChanged">
                <asp:ListItem Value="0">-Select-</asp:ListItem>
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:TAXIConnectionString %>" 
                SelectCommand="SELECT [VehicleName], [VehicleTransId] FROM [VehicleTransaction]">

            </asp:SqlDataSource>

    </tr>
     <tr>
        <td>
            Vehicle Number
        </td>
        <td>:</td>
        <td>
            <asp:DropDownList ID="ddVehicleNumber" runat="server" CssClass="drop" AutoPostBack="false" AppendDataBoundItems="true" DataSourceID="SqlDataSource3" DataTextField="VehicleNumber" DataValueField="VehicleId">
                <asp:ListItem Value="0">-Select-</asp:ListItem>
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:TAXIConnectionString %>"
                SelectCommand="SELECT [VehicleNumber], [VehicleId] FROM [VehicleMaster] as Master join VehicleTransaction as Trans 
                on Master.VehicleType=Trans.VehicleTransId
                WHERE ( Trans.VehicleTransId = @Status and [Status] = @Status1) ">
                <SelectParameters>
                    <asp:Parameter  Name="Status" Type="String" />
                    <asp:Parameter DefaultValue="Available" Name="Status1" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>

        </td>
    </tr>

.cs文件是,

in page_load(){  
if (!Page.IsPostBack)
                    {

                        SqlDataSource3.SelectParameters["Status"].DefaultValue = reader["VehicleId"].ToString();
                        }

 protected void ddVehicleType_SelectedIndexChanged(object sender, EventArgs e)
    {

        string vehiclename = ddVehicleType.SelectedItem.Value;
        SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["TAXIConnectionString"].ConnectionString);
        con.Open();
        string str = "select VehicleTransId from VehicleTransaction where VehicleTransId = '" + vehiclename + "'";
        SqlCommand command = new SqlCommand(str, con);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            SqlDataSource3.SelectParameters["Status"].DefaultValue = reader["VehicleTransId"].ToString();
            //ddVehicleNumber.SelectedValue = reader["VehicleTransId"].ToString();
        }
    }

但是在“ ddVehicleType_SelectedIndexChanged”函数调用之后,下拉列表具有旧值。

帮我。

调用ddVehicleNumber.DataBind(); 设置SelectParameters

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM