我在模型中的属性值中遇到了似乎奇怪的不一致。
我有以下控制器动作......
<Route("news/edit")>
<HttpGet>
Function EditIndex(Optional filter As Models.NewsFilter = Nothing) As ActionResult
filter.Start = 0
filter.Count = 100
Return View("EditIndex", filter)
End Function
模型中的大多数属性来自查询字符串,但我的控制器明确设置&#34;开始&#34;和&#34;计算&#34;,然后将模型传递给视图。
我的观点被宣布为......
@inherits System.Web.Mvc.WebViewPage(Of Models.NewsFilter)
奇怪的是,如果我只是在视图中显示模型属性,如...
Start=@Model.Start
Count=@Model.Count
它们显示我的控制器中定义的值。但是当我使用以下内容时......
@Html.EditorFor(Function(m) m.Start, New With {.class = "form-control"})
@Html.EditorFor(Function(m) m.Count, New With {.class = "form-control"})
显示的值是QueryString中的原始值。它忽略了我在控制器中设置的值。
我不明白为什么会这样。它是否试图聪明并自动检查QueryString参数,因为它在表单中?