我是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");
}
非常感谢帮助。此致
答案 0 :(得分:1)
您输入的.cshtml
需要name
属性才能通过POST将数据传递给控制器。
不知道属性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");
}