如何从javascript对象获取用户输入到控制器?

时间:2017-10-03 17:14:23

标签: javascript c# asp.net asp.net-mvc

如何将post-picker(javascript)的值绑定到post方法中的模型?

以下是我的简化视图:

@model myProject.Models.Order

@using (Html.BeginForm("NewOrder", "Projects", FormMethod.Post, new { @class 
= "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()


        <div class="input-group date" data-provide="datepicker-inline" charset="UTF-8">
            <input type="text" class="form-control">
            <div class="input-group-addon">
                <span class="glyphicon glyphicon-th"></span>
            </div>
        </div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/bootsrap")
}

我觉得我需要这样做:

@Html.TextBoxFor(m => m.UserMessage, new { @class = "form-control" })

但是它的日期,而不是文字,它在这个div标签的某个地方。 如何做到对不对?

1 个答案:

答案 0 :(得分:0)

假设您的模型看起来像这样

public class Order 
{
    [DataType(DataType.Date)]
    public DateTime OrderDate {get;set;}
}
在你的视图中写

@Html.TextBoxFor(m => m.OrderDate);

[DataType(DataType.Date)]将在Html.TextBoxFor调用中生成type =“date”

然后在文档准备就绪时将所有日期类型绑定到日期选择器。使用您需要的任何选项

jQuery(document)
    .ready(function() {
    jQuery("input[type=date]")
        .datepicker({ dateFormat: "m.d.yy", changeYear: true, yearRange: "-4:+0" })
        .attr("type", "text");
});