从表单获取信息到控制器并将其保存在数据库中

时间:2017-06-12 14:18:10

标签: asp.net-mvc controller

我的html中有这个代码。我想将这些信息从表单发布到控制器并保存在数据库中。

<form method="POST" class="contactme form-group">
     <input type="text" placeholder="Name" class="form-control inputcontact">
     <input type="text" placeholder="Surename" class="form-control inputcontact">
     <input type="email" placeholder="E-mail" class="form-control inputcontact">
     <input type="tel" pattern="[0-9]{5,10}" class="form-control inputcontact" placeholder="tel. number"><br>
     <input type="submit" class="btn btn-default buttonsend" value="Оставить заявку">
</form>

我有这个模型:

 public int Id { get; }
 public string Firstname { get; set; }
 public string Lastname { get; set; }
 public string Email { get; set; }
 public string Phonenumber { get; set; }

2 个答案:

答案 0 :(得分:0)

你必须告诉它控制器中哪个Controller和哪个Action如下所示:

using (Html.BeginForm("YourActionMethodHere", "YourControllerHere", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
    {
       <input type="text" placeholder="Name" class="form-control inputcontact">
        <input type="text" placeholder="Surename" class="form-control inputcontact">
        <input type="email" placeholder="E-mail" class="form-control inputcontact">
        <input type="tel" pattern="[0-9]{5,10}" class="form-control inputcontact" placeholder="tel. number"><br>
        <input type="submit" class="btn btn-default buttonsend" value="Оставить заявку">
    }

link也应该有所帮助

答案 1 :(得分:0)

MVC概念非常直接,可以满足您的需求。通常有一个模型,其中包含显示&#34; View&#34;所需数据的属性。以及用户输入的内容,以便在发布时将数据绑定到模型。如果您还没有任何控制器代码,那么我建议采用以下方法。

首先,编写一个控制器来处理视图的显示和视图的内容发布。

public class YourController : Controller
{
     [HttpGet]
     public ActionResult YourViewName()
     {
        var myViewModel = new YourViewModel();
        //Populate model data from services etc...

        return View("YourViewName", myViewModel);
     }
}

我发现在类中包含我需要的视图数据对象更容易。

public class YourViewModel
{
     public string Property1 { get; set; }
     public int Property2 { get; set; }
     \\etc...
}

然后在您的视图中,将控件包装在Form中,并使用Html帮助器控件显示并绑定到模型中的数据。

 @using (Html.BeginForm("ActionName", "YourController ", FormMethod.Post, new { id = "FormName"}))
 {
    @Html.TextBoxFor(x => x.YourModel.Property1, null, new { @class = "SomeCssClass"})
    \\Repeat for all properties that need displaying or for user input.
 }

您还需要表单上的提交按钮,以便将表单发布到指定的控制器。

<button id="btnSubmitForm" type="Submit" class="SomeCssClass">Submit</button>

然后在您的控制器中创建一个方法来接收发布的表单(模型)

 [HttpPost]
 public ActionResult ActionName(YourViewModel postedContent)
 {

    //Handle saving etc.. here.
    var x = postContent.Property1;
    //Do something with data

    //Re populate model and show updated view.
    var myViewModel = new YourViewModel();

    return View("YourViewName", myViewModel);
 }

Thant应该帮助你。其中很多都取决于偏好和意见。