我有我使用一个搜索页面的简单模型做一些验证:获取变量传递给我的控制器从一个文本框
public class Search {
[Required]
[DisplayName("Tag Number")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "Tag must be a number")]
public int HouseTag { get; set; }
然后我有一个简单的视图,一个文本框和一个提交按钮:
@model Search
@{
Layout = "~/_Layout.cshtml";
}
@using (Html.BeginForm("Search", "Inquiry", FormMethod.Get)){
@Html.LabelFor(m =>m.HouseTag)
@Html.TextBoxFor(m=>m.HouseTag, new { type = "Search", autofocus = "true", style = "width: 200px", @maxlength = "6" })
<input type="submit" value="Search" id="submit"/>
我控制器期待一个ID的参数:
[HttpGet]
public ActionResult Search(int id){
ViewBag.Tag = id;
return View();
}
当我执行它一个数字我得到一个空值传递给控制器,导致事情炸毁。我正在使用模型来控制搜索框的一些属性以进行验证。我以前只是拥有@ Html.TextBox,并且返回正常,但是现在我添加了该模型,但它不返回任何内容。