我正在尝试对结果页面进行排序(这是在过滤页面之外的另一个视图中).我遇到了这个奇怪的问题,我不明白为什么一直发生在我身上.
所有代码都以非常简短的形式提供,如果您需要我的代码的任何其他部分以获取更多信息,请询问我.
我的索引视图(用户筛选结果的位置):
@model IEnumerable<Cars.Models.CarSearch>
@using (Html.BeginForm("SearchResult", "Home", FormMethod.Post,
new
{
id = "CategoryFormID",
data_modelListAction = @Url.Action("ModelList"),
data_makeListAction = @Url.Action("MakeList"),
data_editionListAction = @Url.Action("EditionList")
}))
{
<label>Make</label>
<select id="MakeID" name="carMake">
<option>All Makes</option>
</select>
}
Run Code Online (Sandbox Code Playgroud)
我的SearchResult视图:
@model IEnumerable<Cars.Models.Car>
<a href="@Url.Action("SearchResult", "Home", new { sortOrder= "Make", filters = ViewBag.CurrentFilters})">Make</a>
Run Code Online (Sandbox Code Playgroud)
我的模特:
public class Car
{
public String Make { get; set; } //is my table model
}
public class CarFilter {
public String carMake { get; set; }
}
public class CarSearch {
public CarFilter CarFilter { get; set; }
public byte PageSize { get; set; }
public short PageNumber { get; set; }
public int TotalRows { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的控制器:
public ActionResult SearchResult(String sortOrder, CarFilter filters)
{
ViewBag.CurrentFilters = filters;
return View();
}
Run Code Online (Sandbox Code Playgroud)
我所要做的就是将CarMake从Index发布到CarFilter形式的控制器(因为在我的代码中,表单中有很多字段,我不想把它们全部写下来),当用户点击时通过Make it GET获取SearchResult方法,它应该设置filters = ViewBag.CurrentFilters哪个是用户从头开始输入的值.
现在,有趣的是,当我更换CarFilter filters与String carMake分别等地.它就像一个魅力.
我的问题:
为什么?
我怎么能这样做CarFilter filters?
更新:
问题是filters = ViewBag.CurrentFilters在我的SearchResult视图中不适用于该类型CarFilter,因为当用户单击按Make排序时,它会一直给我NULL值.
第二次更新:
我试图改变filters = ViewBag.CurrentFilters用CarFilter = ViewBag.CurrentFilters.现在CarFilter filters我SearchResult(...)在我的控制器方法是不是和空对象,但在模型类对象的所有值是零(这应该不是).我的意思是过滤器对象存在,但似乎我的模型中的CarFilter类的值尚未传递ViewBag.CurrentFilters给视图.
小智 0
当您更改名称时,它会起作用,因为框架找到了属性名称,并将其绑定到操作参数中的内容对于对象来说效果不佳。我的建议是坚持使用简单类型
这是类似的情况: How to send model object in Html.RenderAction (MVC3)
这不是 ViewBag 的问题,而是它一般如何工作的问题。这是使用扁平模型的主要原因:/
| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |