c#不能用type=week模型绑定到新的html输入
本文关键字:html 输入 绑定 模型 不能 type week | 更新日期: 2023-09-27 18:16:38
我正在c#/mvc5中工作,我试图将选定的一周返回到我的控制器。
在视图中,我呈现了一个类型为'week'的html输入控件。从我收集这应该返回一个字符串值,表示星期和年。我通过视图模型传递数据。
我总是在控制器中得到一个空字符串。知道我做错了什么吗?我发现html5的输入很少使用周类型。
View:
@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();
}
原来这是由于视图模型中没有默认的getter和setter。
当我将public string Week;
更改为public string Week {get; set;}
时,它可以正常工作。