【问题标题】:How to fix problem with textbox in Aspx.cs如何解决 Aspx.cs 中的文本框问题
【发布时间】:2018-10-09 04:15:22
【问题描述】:

您好,我有一个 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>

请帮我修复它我想在我的数据访问表中输入数据...

【问题讨论】:

    标签: javascript c# html asp.net


    【解决方案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#

    【讨论】:

    • 嘿,感谢您的帮助,我添加了 runat="server" 仍然显示这个问题...
    • 文本的属性与 HTML 输入不同。我会更新答案。
    • 我不能使用 OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Vort3eX\Desktop\RegisterDataBase.mdb;Persist Security Info=True ");
    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2019-02-11
    • 2022-12-05
    • 1970-01-01
    • 2018-09-01
    相关资源
    最近更新 更多