C# 文本框不发送输入的值

C# 文本框不发送输入的值,c#,asp.net,.net,C#,Asp.net,.net,我在aspx中有以下html,因此它已经存在于表单中:- <asp:TextBox ID="Name" runat="server" MaxLength="50" Width="175px"></asp:TextBox> 如果我在“名称”文本框中键入新文本,当我单击“更新详细信息”按钮时,“名称.文本”始终显示原始文本,而不是修改后的文本 我做错了什么?我正在将自己从VB转换为C,因此毫无疑问,我将学习一些技巧。更改: command.ExecuteReader()

我在aspx中有以下html,因此它已经存在于表单中:-

<asp:TextBox ID="Name" runat="server" MaxLength="50" Width="175px"></asp:TextBox>
如果我在“名称”文本框中键入新文本,当我单击“更新详细信息”按钮时,“名称.文本”始终显示原始文本,而不是修改后的文本

我做错了什么?我正在将自己从VB转换为C,因此毫无疑问,我将学习一些技巧。

更改:

  command.ExecuteReader();

您可以在以下内容中省略@:


无法更新调用ExecuteReader的任何记录,因为这是用于读取数据的SELECT语句。如果要更新数据库中的数据,必须调用ExecuteOnQuery

因此,请将代码更改为:

command.ExecuteNonQuery();

尝试将该值存储在会话中,或者检查ViewState(如果已启用)是否也在执行IsPostBack检查?在AddWithValues中省略@的做法很差。您认为SQL中引用/声明的参数是什么?使用@符号时,您的SqlDataReader对象在哪里?不进行任何iPostBack检查。默认情况下,ViewState处于启用状态。我相信下面提供的答案应该能够回答/修复您的问题您对上一个问题的响应有点晚。更改为command.ExecuteOnQuery;谢谢但是,AddWithValue Name.Text中的数据仍然是页面加载的原始数据。它没有拾取输入框中的任何更改,这是问题的关键所在。@Craig您确定没有在Page_Load中重置此值吗?你忘了加if了吗!IsPostBack\\t设置控件的文本是否可能?Icarus我爱你!文本是在按钮功能运行之前设置的。非常感谢。希望这对其他人也有帮助。
  command.ExecuteReader();
  command.ExecuteNonQuery(); // This is for insert, update, delete
    command.Parameters.AddWithValue("Name", Name.Text);
    command.Parameters.AddWithValue("iDUser", Session["loggedIn"].ToString());
command.ExecuteNonQuery();