小编use*_*184的帖子

Asp.Net mvc 5 - 如何在Html.ActionLink()中传递复杂对象作为路由值,以便默认模型绑定器可以映射它?

我有一个对象,包含搜索,排序和分页参数以及要编辑的记录的ID.

我想将此对象作为路由值对象传递给Html.ActionLink(),以便生成的查询字符串将由默认模型绑定器正确映射到Edit操作的参数,即EditViewModel.

我们的想法是,在Edit操作完成后,它可以重定向回Index并在同一数据集中保持相同的分页/排序位置,并使用相同的搜索字符串进行过滤.

编辑视图模型:

public class EditViewModel
{
    public SearchSortPageViewModel SearchSortPageParams { get; set; }
    public int Id { get; set; }

    public EditViewModel() 
    {
        SearchSortPageParams = new SearchSortPageViewModel();
        Id = 0;
    }

    public EditViewModel(SearchSortPageViewModel searchSortPageParams, int id)
    {
        SearchSortPageParams = searchSortPageParams;
        Id = id;
    }
}

public class SearchSortPageViewModel
{
    public string SearchString { get; set; }
    public string SortCol { get; set; }
    public string SortOrder { get; set; }
    public int Page { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc model-binding html.actionlink

12
推荐指数
1
解决办法
1万
查看次数