我试图从我的SQL语句的下拉菜单中使用selectedItem来填充C#asp.net中的文本框
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我试图从我的SQL语句的下拉菜单中使用selectedItem来填充C#asp.net中的文本框,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2713字,纯文字阅读大概需要4分钟。
内容图文
到目前为止,一切都没有错误地加载,一旦一切正常,SQL调用将被更安全的存储过程替换.当我从下拉菜单中选择一个炉子时,它应该传递给方法并用运行编号填充文本框.但是当我选择任何东西时,它只会回到第一个指数10A.我还编写了索引0应该说“Select Furnace”,但也没有显示,只有第一个索引.是否有关于如何获取所选索引并从SQL查询填充文本框的建议?
<asp:Content ID="BodyContent" ContentPlaceHolderID="BodyPlaceHolder" runat="server">
<center>
<table style="text-align:left">
<tr>
<td align="right">
<asp:Label ID="FurnaceID" Text="JUMP TO FURNACE : " runat="server" />
</td>
<td></td>
<td>
<asp:DropDownList ID="FurnID" runat="server" AutoPostBack ="true"
onselectedindexchanged="FurnID_SelectedIndexChanged" Width="150px">
<asp:ListItem Text="Select Furnace" Value = "0" />
</asp:DropDownList>
守则背后:
LoadList();在page_load事件中调用
public void LoadList()
{
SqlCommand cmd = new SqlCommand("SELECT * FROM [Furnace]", new SqlConnection(ConfigurationManager.ConnectionStrings["FurnaceDeckConnectionString"].ConnectionString));
cmd.Connection.Open();
SqlDataReader Furns;
Furns = cmd.ExecuteReader();
FurnID.DataSource = Furns;
FurnID.DataValueField = "Furnaceno";
FurnID.DataTextField = "Furnaceno";
FurnID.DataBind();
cmd.Connection.Close();
cmd.Connection.Dispose();
}
更改索引时,将调用此方法:
protected void FurnID_SelectedIndexChanged(object sender, EventArgs e)
{
if (IsPostBack)
{
String selectedFurn = "";
ListItem selectFurn = FurnID.Items.FindByText(selectedFurn);
LoadFurnDetails(selectedFurn);
}
}
public void LoadFurnDetails(String F)
{
String selectF = F;
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("SELECT * FROM [Furnace Run Data Table] Where Furnace = 'selectF' and Completed = 0 ", new SqlConnection(ConfigurationManager.ConnectionStrings["FurnaceDeckConnectionString"].ConnectionString));
cmd.Connection.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter(cmd);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
lblFurnId.Text = dt.Rows[0]["runno"].ToString();
}
cmd.Connection.Close();
cmd.Connection.Dispose();
}
解决方法:
这部分
if (IsPostBack)
{
String selectedFurn = "";
ListItem selectFurn = FurnID.Items.FindByText(selectedFurn);
LoadFurnDetails(selectedFurn);
}
…将字符串“selectedFurn”定义为空字符串.
然后,您尝试使用此空字符串按文本查找项目.我假设,这个项目不存在……无论如何,你不使用找到的ListItem,但只是传递空字符串…
您最有兴趣对当前所选项目和此特殊项目的加载详细信息感兴趣,不是吗?尝试使用.Selecteditemrather查找ListItem,而不是在LoadFurnDetails中将空字符串作为参数传递…
下一个问题是:
SqlCommand cmd = new SqlCommand("SELECT * FROM [Furnace Run Data Table] Where Furnace = 'selectF' and Completed = 0 " ...
您认为传入变量“selectF”但实际上正在搜索硬编码的“selectF”…您必须将“selectF”替换为变量的实际内容.
再次禁止:你应该总是使用参数,不要连接字符串命令!
内容总结
以上是互联网集市为您收集整理的我试图从我的SQL语句的下拉菜单中使用selectedItem来填充C#asp.net中的文本框全部内容,希望文章能够帮你解决我试图从我的SQL语句的下拉菜单中使用selectedItem来填充C#asp.net中的文本框所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。