如何解决Aspx.cs中文本框的问题

时间:2018-10-08 17:50:37

标签: javascript c# html asp.net

你好,我有一个html注册表格,我用html打开了表格,并用javascript检查了数据。现在我想插入我的数据来访问数据库,但我不知道该怎么做,因为这使我感到麻烦... 我试图写成aspx.cs: public void Register_Click(object sender, EventArgs e) { OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Vort3eX\Desktop\RegisterDataBase.mdb;Persist Security Info=True"); con.Open(); OleDbCommand cmd = con.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "insert into DataBase value('"+fname.Text+ cmd.ExecuteNonQuery(); con.Close(); }

我收到此错误:

  

“名称'fname'不存在当前上下文”

输入我的HTML代码

   <tr>
            <td class="style4">
               Name
               </td>                
            <td class="style3">
           <input type="text"name="fname" id="fname" placeholder = "Name" />
            </td
        </tr>

请帮助我解决此问题,我想在数据访问表中输入数据...

1 个答案:

答案 0 :(得分:1)

如果不将runat =“ server”添加到输入元素,则服务器端代码将无法识别HTML输入:

<input type="text" name="Name" id="fname" placeholder="Name" runat="server" />

要在后面的代码中访问HTML元素的值,您需要使用:

fname.Value

重要提示:确保没有表单元素,否则将不会提交任何内容:

http://www-db.deis.unibo.it/courses/TW/DOCS/w3schools/aspnet/aspnet_forms.asp.html

您还需要在代码中使用查询参数,以避免SQL注入攻击:

Call a stored procedure with parameter in c#