簡體   English   中英

通過查詢字符串將值分配給下拉列表

[英]Assign value to dropdown list via query string

我將選擇的值存儲在查詢字符串變量的第1頁的DDL列表中,然后嘗試在第2頁將其分配給來自用戶控制頁的同一下拉列表。 但是,在將值分配給第2頁上的DDList時,我得到的是數組索引超出綁定異常或空值異常。

我已調試並驗證查詢字符串正確,但是無法將此值分配給ddl列表。代碼粘貼如下:

 <telerik:RadComboBox 
      ID="cmbSearchOaO" 
      runat="server"
      AutoPostBack="true"
      AppendDataBoundItems="true" 
      Width="200px"
      DataSourceID="odsOwnedAndOperated"
      DataTextField="Owned_And_Operated_Nm"
      DataValueField="Owned_And_Operated_Id"
      OnSelectedIndexChanged="PopulateApplicationTypeDropDown">
 </telerik:RadComboBox>


  ddl2.SelectedValue = Request.QueryString["No2"];           
  ddl2.FindItemByValue(Request.QueryString["No2"].ToString()).Selected = true;

正確的值填充在Request.QueryString["No2"] ,但是我需要將其存儲在LHS上,即ddl列表中。

試試這個解決方案。 在我的示例中,我使用了ASP.NET DropdownList控件

包含下拉列表的用戶控件,該下拉列表供第1頁和第2頁使用

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DDlUserControl.ascx.cs" Inherits="WebApplication2.DDlUserControl" %>
<asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="True" Height="20px" 
    Width="223px">
    <asp:ListItem Value="1">Item 1</asp:ListItem>
    <asp:ListItem Value="2">Item 2</asp:ListItem>
    <asp:ListItem Value="3">Item 3</asp:ListItem>
    <asp:ListItem Value="4">Item 4</asp:ListItem>
    <asp:ListItem Value="5">Item 5</asp:ListItem>
    <asp:ListItem Value="6">Item 6</asp:ListItem>
    <asp:ListItem Value="7">Item 7</asp:ListItem>
    <asp:ListItem Value="8">Item 8</asp:ListItem>
</asp:DropDownList>

Page1 HTML頁面

<p>
        <uc1:DDlUserControl ID="DDlUserControl1" runat="server" />
    </p>
    <p>
        <asp:Button ID="btnSubmit" runat="server" onclick="btnSubmit_Click" 
            Text="Go to Page 2" />
    </p>

第1頁的代碼后面

protected void btnSubmit_Click(object sender, EventArgs e)
        {
            var ddl = DDlUserControl1.FindControl("ddlTest") as DropDownList;
            Response.Redirect("Page2.aspx?no="+ddl.SelectedValue);
        }

第2頁html

<div>

        This is page 2<br />
        <br />
        <uc1:DDlUserControl ID="DDlUserControl1" runat="server" />

    </div>

Page2代碼背后

protected void Page_Load(object sender, EventArgs e)
        {
            var selectedVal = Request.QueryString["no"];
            var ddl = DDlUserControl1.FindControl("ddlTest") as DropDownList;
            ddl.SelectedValue = selectedVal;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM