2017-04-18 69 views
1

我必須從名爲dbo.Names的表中獲取值(A,B,C,D)到SQL Server的下拉框中。我手動完成了它,但如何使用表中的select語句實現相同的操作????或者如果我必須從存儲過程中選擇一個變量包含值?ASP.Net下拉框中的數據綁定

<div class="col-sm-12"> 
    <div class="col-sm-4 lhs-form-box" style="padding: 10px; height: 247px;"> 
     <div class="form-group" style="width: 87%; float: left;"> 
      <label for="sel1">ITEM</label> 
      <asp:DropDownList ID="ddl_QU" runat="server" class="form-control"> 
       <asp:ListItem Text="A" Value="A"></asp:ListItem> 
       <asp:ListItem Text="B" Value="B"></asp:ListItem> 
       <asp:ListItem Text="C" Value="C></asp:ListItem> 
       <asp:ListItem Text="D" Value="D"></asp:ListItem> 
      </asp:DropDownList> 
     </div> 
     <span> 
      <img src="info.png" style="margin: 31px 0px 0px 5px"> 
     </span> 
    </div> 
</div> 
+0

您的應用程序中是否已有數據庫訪問權限?你在使用ADO.NET嗎?實體框架? NHibernate的? Linq to SQL? – mason

+0

我有一個存儲過程,我正在使用的網頁。我可以從變量retreive值以及..任何想法..如何做到這一點? – Superr

+0

你需要顯示你的代碼。 – mason

回答

-1
DropDownList1.Items.Add(new ListItem("Select", "")); 
    DropDownList1.AppendDataBoundItems = true; 
    String strConnString = ConfigurationManager.ConnectionStrings["your connection"].ConnectionString; 
    String strQuery = "SELECT ID, Name FROM YourTable"; 
    SqlConnection con = new SqlConnection(strConnString); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = strQuery; 
    cmd.Connection = con; 
    try 
    { 
     con.Open(); 
     DropDownList1.DataSource = cmd.ExecuteReader(); 
     DropDownList1.DataTextField = "Name"; 
     DropDownList1.DataValueField = "ID"; 
     DropDownList1.DataBind(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
    finally 
    { 
     con.Close(); 
     con.Dispose(); 
    } 
+1

只有鏈接纔會被拒絕,因爲鏈接可能會被破壞。請嘗試總結鏈接中的相關部分。如果需要,用戶可以訪問該鏈接獲取更多信息。 – krillgar

+0

已更新爲代碼示例。現在你不應該放棄。 – PJS

+0

我是那個低調的人。而現在我將它留在原地,因爲代碼轉儲的答案是不被接受的。你應該提供一個解釋說明代碼的作用和原因。而'拋出;'是一個反模式。 – mason

-2

///// 只需使用ASP:直放站這裏 ///

  <div class="col-sm-4 lhs-form-box" style="padding: 10px; height: 247px;"> 
       <div class="form-group" style="width: 87%; float: left;"> 
        <label for="sel1">ITEM</label> 
        <asp:Repeater ID="rptNames" runat="server" class="form-control"> 
         <asp:Label Text='<%# Eval("name") %>'></asp: Label> 
        </asp: Repeater> 
       </div> 
       <span> 
        <img src="info.png" style="margin: 31px 0px 0px 5px"></span> 

      </div> 

///// 只需使用ASP:直放站這裏

和在你的sql查詢中 select your name from yourTable

代碼後面 ///

rptNames.DataSource = datatable; // from sql rptNames.Databind();

+0

我不明白這一點...可以請你詳細說明?? – Superr

+0

這是中繼器的無效語法。並通過一個問題來判斷,數據需要放在DropDownList中,而不是中繼器。請密切關注所提問題,並確保您將來提供有效答案。我建議你刪除這個答案,因爲它不相關。 – mason