从文本框插入数据到数据库asp.net MVC4

本文关键字:数据库 asp net MVC4 数据 文本 插入 | 更新日期: 2023-09-27 18:10:04

我正在使用MVC4视图页面,我正试图通过单击按钮从文本框插入数据到我的MS SQL数据库。我正在努力这样做,我想问题是"con.open()",但我不知道在哪里声明它。下面是我的代码:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="System.Web.Mvc.ViewPage" %>
<script runat="server">
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["GreenEnergyConnectionString1"].ConnectionString);
   protected void Button1_Click(object sender, EventArgs e)
{
    con.Open();
    SqlCommand cmd = new SqlCommand("insert into CUSTOMER values ('"+TextBox2.Text+"', '"+TextBox3.Text+"', '"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"', '"+TextBox7.Text+"', '"+TextBox8.Text+"')",con);
    cmd.ExecuteNonQuery();
    con.Close();
    TextBox8.Text = "";
    TextBox7.Text = "";
    TextBox6.Text = "";
    TextBox5.Text = "";
    TextBox4.Text = "";
    TextBox3.Text = "";
    TextBox2.Text = "";
}

看我的网。配置我声明如下:

<add namespace="System.Data.SqlClient"/>
<add namespace="System.Configuration"/>

从文本框插入数据到数据库asp.net MVC4

你上面的不是MVC。这是webforms。<script runat="server">标签是一个致命的暴露。这段代码应该在控制器动作中。当用户在HTML表单中单击HTML提交时,MVC会将请求路由到控制器动作。在此操作中,您将编写执行sql的代码。

我强烈推荐Razor胜过webforms语法。

我认为你的方法有很多错误或至少不合格的地方,很难直接帮助你。相反,我想我可以指导你MVC是什么意思:

  1. 在MVC中你有一个模型,一个视图和一个控制器。
  2. 在你的控制器中,你实例化一个模型,填充它…并调用View。
  3. 当你有一个表单,你通常需要两个控制器动作:一个用于显示视图,另一个用于提交表单。
  4. 当您提交表单时,您将收到模型…在MVC中,你没有访问表单字段在WebForms(与您的TextBox1。文本和runat="server"(很明显你没有正确使用MVC)。

除此之外,添加代码直接从视图访问数据库在几个方面是错误的…我的意思是,从技术上讲,你可以这样做,但你是在自找麻烦。

我强烈建议您下载一个示例MVC 3或4应用程序,以了解概念并做一些测试。我建议你使用Razor来创建你的视图。