C# 在asp.net c中使用sql获取绑定的HTML dropdownlist的值 我的问题的细节。
我正在使用Asp.NETWeb表单中的html输入将下拉列表与SQL DB中表的列值绑定。我能做到 问题是,当我在运行时选择值并将其存储在表中时,它将0存储为表中该列的值 密码 这是aspx.cs的代码,我正在调用这个页面加载事件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
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块,这些块遵循这种可怕的反模式。