我是Asp.Net的新手,我试图从视图到控制器做一个帖子,如:
@model Models.CapturaViewModel
@using(Html.BeginForm("EnviarIncrementos", "Controller", FormMethod.Post, htmlAttributes: new { @class = "table-bordered" }))
{
<div class="form-group">
<div class="col-md-12">
<div class="col-md-3">
Fecha de movimiento:
</div>
<div class='col-md-4'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="col-md-2 col-md-push-3">
<input type="submit" value="Guardar" class="btn btn-xs" style="background-color:#3399FF;color:#FFFFFF" />
</div>
</div>
</div>
}
你可以看到我在那里有一个日期选择器。我想知道如何从控制器方法中的日期选择器中获取值:
[HttpPost]
public ActionResult EnviarIncrementos()
{
return RedirectToAction("Index");
}
非常感谢帮助。问候
您输入的.cshtml
需要name
属性才能通过POST将数据传递给Controller。
不知道什么属性CapturaViewModel
有,但让我们假设你有一个属性public DateTime DatePicker { get; set; }
有了它,现在你需要修改你的.cshtml
在哪里
<input type='text' class="form-control" />
至
<input type='text' name="DatePicker" class="form-control" />
或通过使用HtmlHelper
@Html.TextBoxFor(m => m.DatePicker, new { @class = "form-control" })
最后,您的控制器缺少接受CapturaViewModel
的参数。将您的控制器更改为:
[HttpPost]
public ActionResult EnviarIncrementos(CapturaViewModel model)
{
return RedirectToAction("Index");
}