Mvc4模型为url查询字符串

时间:2013-11-26 10:05:31

标签: asp.net-mvc-4 razor

我正在寻找一种将mvc4模型转换为查询字符串的方法。 mvc4的内置机制允许我做这样的事情:

@Url.Action("SearchWithQueryString","Search", new {@Title = "Title", @Author= " Author", @Date = "date"})

此命令的结果是:

Url/Search/SearchWithQueryString?Title=title&Author=author&date=date

我的目标是传递poco模型并获得相同的结果。 例如,如果我有这个类:

public class Test
{
    public string Title {get;set;}
    public string Author {get;set;}
    public string Date {get;set;}
}

我希望能够使用内置机制做这样的事情:

@Url.Action("SearchWithQueryString","Search", new Test())

并获得与之前相同的结果。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您应该使用RouteValueDictionary课程。这允许您将模型转换为QueryString:

@Url.Action("SearchWithQueryString", "Search", new RouteValueDictionary(new Test()))

例如,new Test()也可以是Model