簡體   English   中英

將數據從ASP.NET/C#中的SQL帶入DropDownList?

[英]Bring data into DropDownList from SQL in ASP.NET / C#?

嗨,我是C#的新手,我的技能還很不足,我希望將SQL表中的數據導入表中的'asp:DropDownList'中。

我收到此錯誤: System.NullReferenceException:對象引用未設置為object的實例

前端html看起來像這樣:

<asp:Table ID="Table1" runat="server" Font-Size="Medium" Width="960" BorderWidth="3" CellPadding="5" CellSpacing="5" CssClass="table table-bordered table-striped table-hover table-condensed table-responsive">
        <asp:TableHeaderRow runat="server" Font-Bold="true">
            <asp:TableHeaderCell Width="20%">Activity</asp:TableHeaderCell>
            <asp:TableHeaderCell>Hazards</asp:TableHeaderCell>
            <asp:TableHeaderCell Width="15%">Risk Level</asp:TableHeaderCell>
        </asp:TableHeaderRow>
        <asp:TableRow ID="TableRow1" runat="server" >
            <asp:TableCell>Camping</asp:TableCell>
            <asp:TableCell>Emergency evacuation</asp:TableCell>
            <asp:TableCell><asp:DropDownList ID="ddl1" runat="server"></asp:DropDownList></asp:TableCell>
        </asp:TableRow>
    </asp:Table>
        </div>

我簡要介紹過的C#代碼是這樣的:

    public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty((string)Session["TripCode"]))
        {
            txtTripCode.Text = (string)Session["TripCode"];
        }
        else
        {
            txtTripCode.Text = "NOT PROVIDED";
        }

        if (!string.IsNullOrEmpty((string)Session["TripOrg"]))
        {
            txtTripOrg.Text = (string)Session["TripOrg"];
        }
        else
        {
            txtTripOrg.Text = "ERROR: NO DATA PROVIDED";
        }

        if (!string.IsNullOrEmpty((string)Session["TripDesc"]))
        {
            txtTripDesc.Text = (string)Session["TripDesc"];
        }
        else
        {
            txtTripDesc.Text = "ERROR: NO DATA PROVIDED";
        }

        if (!this.IsPostBack)
        {
            string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand("SELECT TOP 1000 [MainActivityID],[ID],[Activity],[Hazards],[Risk_Level],[Controls] FROM [STRIDES_SQL].[dbo].[STRIDES_RA_Activities]"))
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    con.Open();
                    ddl1.DataSource = cmd.ExecuteReader();
                    ddl1.DataTextField = "Name";
                    ddl1.DataValueField = "MainActivityID";
                    ddl1.DataBind();
                    con.Close();
                }
            }
            ddl1.Items.Insert(0, new ListItem("--Select Customer--", "0"));
        }
    }

有什么辦法可以阻止這種情況的發生?

感謝您的幫助或諒解,在此先感謝任何人!

檢查您的web.config以便在“配置-> ConnectionStrings”部分中進行構建。 如果不存在,請添加連接字符串。

檢查https://www.connectionstrings.com/以獲取正確的語法。

還行

ddl1.DataTextField = "Name";

會給你下一個錯誤。 名稱字段不是查詢的一部分。

暫無
暫無

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

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