1

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

如果有人能引导我完成这个,我将非常感激。我正在使用 MVC4 来开发它。

基本上这是我需要做的:

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

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

  • 进口声明(??????)
4

2 回答 2

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-应用程序

于 2013-02-08T14:42:44.353 回答
0

使用视觉工作室:

选择新建项目,然后选择“MVC4项目”,然后选择“基本”

打开新项目后,右键单击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 控制器,使用实体框架”

对于模型类,选择“EventModel”

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

任务完成。Visual Studio 应该已经创建了视图来列出、创建、删除、显示和编辑事件

于 2013-02-08T14:50:39.590 回答