C#无法使用type = week建模绑定到新的html输入

时间:2016-11-06 21:28:47

标签: c# asp.net-mvc html5 entity-framework

我在c#/ mvc5工作,我正在尝试将选定的一周返回给我的控制器。

在视图中,我创建了一个类型为'周'的html输入控件。从我收集的内容中,这应该返回一个表示周和年的字符串值。我通过viewmodel传递数据。

我总是在控制器中得到一个空字符串。 知道我做错了吗?我发现使用周类型的html5输入很少。

以下是视图:

@model JoscoConnect.ViewModels.NewTransactionViewModel
@using System.Web.UI.WebControls

@{
    ViewBag.Title = "New";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>New Transaction</h2>

@using (Html.BeginForm("Create", "Transaction", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div class="form-group">
        @Html.TextBoxFor(m => m.Week, new { type = "week"})
    </div>

    <div class="form-group">
        @Html.LabelFor(m => m.trustedFile)
        @Html.TextBoxFor(m => m.trustedFile, new { type = "file" })
    </div>

    <input class="form-control btn btn-primary" type="submit" name="Submit" value="Submit" />
}

以下是ViewModel:

namespace JoscoConnect.ViewModels
{
    public class NewTransactionViewModel
    {
        public string Week;

        [Required,Display(Name = "Trusted File")]
        public HttpPostedFileBase trustedFile { get; set; }

    }
}

以下是控制器操作:

[HttpPost]
public ActionResult Create(NewTransactionViewModel newTransactionViewModel)
{
    string week = newTransactionViewModel.Week.ToString();

    TrustedImport trustedImport = new TrustedImport();
    bool result = trustedImport.CheckFileExists("test1");

    return View();
}

1 个答案:

答案 0 :(得分:0)

事实证明,这是因为视图模型中没有默认的getter和setter。

当我将public string Week;更改为public string Week {get; set;}时,它可以正常工作。