将数据从表单插入SQL表?

时间:2013-02-08 14:29:01

标签: asp.net-mvc

我一直在环顾四周,为了我的生活,我找不到一个展示如何做到这一点的例子。他们要么有例子,他们只是从外部文件加载数据或手动输入数据到表中。我有一个简单的表单,有两个框和提交按钮,当用户点击提交到我创建的SQL表时上传数据。我知道这听起来很简单,但我找不到办法。我是MVC4的新手,我阅读了很多材料并完成了大部分教程,我理解它背后的概念。我无法弄清楚这样做的语法。

如果有人能指引我,我将非常感激。我正在使用MVC4来开发它。

基本上这就是我需要做的事情:

  • 事件名称(已创建)的文本框
  • 事件数据的文本框(已创建)
  • 提交按钮(已创建)

  • 具有相同属性的SQL表(使用ADO实体数据模型创建)

  • 导入声明(????)

2 个答案:

答案 0 :(得分:2)

您可以从创建EF模型开始:

public class Event
{
    [Key]
    public int Id { get; set; }

    [Required]
    public string EventName { get; set; }
    public string EventData { get; set; }
}

和相应的数据上下文:

public class EventsDataContext: DbContext
{
    public IDbSet<Event> Events { get; set; }
}

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new Event());
    }

    [HttpPost]
    public ActionResult Index(Event model)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        using (var ctx = new EventsDataContext())
        {
            ctx.Events.Add(model);
            ctx.SaveChanges();
        }

        return Content("The new event was successfully stored into the database");
    }
}

最后一个观点:

@model Event

@using (Html.BeginForm())
{
    <div>
        @Html.LabelFor(x => x.EventName)
        @Html.EditorFor(x => x.EventName)
        @Html.ValidationMessageFor(x => x.EventName)
    </div>

    <div>
        @Html.LabelFor(x => x.EventData)
        @Html.EditorFor(x => x.EventData)
        @Html.ValidationMessageFor(x => x.EventData)
    </div>

    <button type="submit">Create event</button>
}

进一步阅读:http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4

还有另一个教程:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

答案 1 :(得分:0)

使用visual studio:

选择New project,然后选择“MVC4 project”,然后选择“Basic”

新项目打开后,右键单击Models文件夹,然后选择Add Class... 致电您的班级EventModel并添加以下代码:

public class EventModel
{
    [Key]
    public int EventId { get; set; }
    public string EventName { get; set; }
    public string EventData { get; set; }
}

现在编译您的项目。

然后右键点击controllers并选择add controller。 给它命名为'EventController'

对于模板,选择“具有读/写操作和视图的MVC控制器,使用实体框架”

对于Model类,选择'EventModel'

对于datacontext类,选择“新数据上下文”。

完成工作。 Visual Studio应该创建视图来列出,创建,删除,显示和编辑事件