Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net c中使用sql获取绑定的HTML dropdownlist的值 我的问题的细节。_C#_Html_Asp.net_Sql Server - Fatal编程技术网

C# 在asp.net c中使用sql获取绑定的HTML dropdownlist的值 我的问题的细节。

C# 在asp.net c中使用sql获取绑定的HTML dropdownlist的值 我的问题的细节。,c#,html,asp.net,sql-server,C#,Html,Asp.net,Sql Server,我正在使用Asp.NETWeb表单中的html输入将下拉列表与SQL DB中表的列值绑定。我能做到 问题是,当我在运行时选择值并将其存储在表中时,它将0存储为表中该列的值 密码 这是aspx.cs的代码,我正在调用这个页面加载事件 try { con.Open(); SqlCommand SqlCmd = new SqlCommand("Select Member_ID from ColonyResidentialEmp", con); SqlDataAdapter sd

我正在使用Asp.NETWeb表单中的html输入将下拉列表与SQL DB中表的列值绑定。我能做到

问题是,当我在运行时选择值并将其存储在表中时,它将0存储为表中该列的值

密码 这是aspx.cs的代码,我正在调用这个页面加载事件

try
{
    con.Open();
    SqlCommand SqlCmd = new SqlCommand("Select Member_ID from ColonyResidentialEmp", con);
    SqlDataAdapter sda =new SqlDataAdapter(SqlCmd);
    DataSet ds = new DataSet();

    sda.Fill(ds);

    if (ds!= null)
    {
        FamMemID.DataSource = ds.Tables[0];
        FamMemID.DataTextField = "Member_ID";
        FamMemID.DataValueField = "Member_ID";
        FamMemID.DataBind();
        FamMemID.Items.Insert(0, new ListItem("Select Member ID", "0"));
    }

}
catch (SqlException sqlEx)
{
    throw new ApplicationException(sqlEx.Message);
}
finally
{
    con.Close();
}
在这里,我试图从下拉列表中设置所选选项的值,但结果为0

FamMemObj._MemID = FamMemID.Value;
这是用于选择值的简单html控件,默认情况下没有值。从表中获取数据后,值将仅在页面加载时显示

<div class="controls">
    <select class="form-control" id="FamMemID" name="FamMemID" runat="server" >
        <option value="">Select Member ID</option>
    </select>
</div>
在这里,我发布了一些屏幕截图,以方便使用

等待准确和完美的答案。请纠正我哪里做错了,提前谢谢:


注:我只想使用HTML标记,而不是asp。

是否将数据绑定代码包装在if中!Page.IsPostBack?如果没有,您每次都会重新绑定下拉列表,从而丢失所选的值Catch SqlException sqlEx{throw new ApplicationExceptionsqlEx.Message;}请不要这样做。@Andrei我犯了一个小错误。是的,谢谢,成功了。想知道我怎么能忘记这件事。Rep++。谢谢你,伙计。@asawyer为什么?问题是什么?你接受异常显示完整的堆栈跟踪、错误代码、数据、内部异常等,然后将其全部丢弃。新异常将此捕获列为堆栈跟踪,你将没有合适的调试信息,列表中的每个人都在维护这个示例:6个月后,你会对它怀有强烈的热情,并且不得不浪费时间去检查和删除所有不必要的try/catch块,这些块都遵循这个糟糕的反模式。你是否将数据绑定代码包装在if中了!Page.IsPostBack?如果没有,您每次都会重新绑定下拉列表,从而丢失所选的值Catch SqlException sqlEx{throw new ApplicationExceptionsqlEx.Message;}请不要这样做。@Andrei我犯了一个小错误。是的,谢谢,成功了。想知道我怎么能忘记这件事。Rep++。谢谢你,伙计。@asawyer为什么?问题是什么?你接受异常显示完整的堆栈跟踪、错误代码、数据、内部异常等,然后将其全部丢弃。新的异常会将此捕获列为堆栈跟踪,您将没有适当的调试信息,并且列表中的每个人都会维护此示例:6个月后,您将对它怀有强烈的热情,并且将不得不浪费他们的时间来查看和删除所有不需要的try/catch块,这些块遵循这种可怕的反模式。