HTML代码
<textarea id="commentarea" name="S1" cols="30" rows="5"></textarea>
C#代码
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
string insertcmnt = "insert into Comment(Comment) values(@comment)";
SqlCommand com = new SqlCommand(insertcmnt, conn);
com.Parameters.AddWithValue("@comment", TextBoxMode.MultiLine.ToString());
com.ExecuteNonQuery();
Response.Write("Commented successfully");
conn.Close();
答案 0 :(得分:1)
您需要使用TextBox:
<asp:TextBox runat="server" id="commentarea" TextMode="MultiLine" Rows="5" Columns="30"/>
然后使用
com.Parameters.AddWithValue("@comment", commentArea.Text);
答案 1 :(得分:0)
您正在存储TextBoxMode枚举中的MultiLine值的名称。您应该引用textarea对象。试试这个
com.Parameters.AddWithValue("@comment", commentarea.Text);
此外,html中的textarea缺少runat属性
<textarea id="commentarea" name="S1" cols="30" rows="5" runat="server"></textarea>
答案 2 :(得分:0)
您的文本区域必须位于表单内,并提供ID(例如frm),还有文本区域的名称和ID(比如txtArea1),然后使用以下代码获取textarea的值:
HtmlTextArea txtImageupload = (HtmlTextArea)(frm.FindControl("txtArea1"));
string txtval = txtImageupload.Value;
com.Parameters.AddWithValue("@comment", txtval);
但是你可以通过使用TextMode设置为MultiLine的文本框控件来避免这一切。