Asp.net mvc 将ViewModel转换为QueryString

Asp.net mvc 将ViewModel转换为QueryString,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有一个ViewModel,我想用它来填充QueryString,它几乎与MVC开箱即用的绑定相反。因此,对于如下所示的模型: public class SearchViewModel { public string Keywords { get; set; } // more properties here } string querystring = AspMagicMethods.GetQueryStringFromViewModel(searchViewModel);

我有一个ViewModel,我想用它来填充QueryString,它几乎与MVC开箱即用的绑定相反。因此,对于如下所示的模型:

public class SearchViewModel
{
    public string Keywords { get; set; }
    // more properties here
}
string querystring = AspMagicMethods.GetQueryStringFromViewModel(searchViewModel);
// querystring == ?keywords=booyah&...
我希望能够做到以下几点:

public class SearchViewModel
{
    public string Keywords { get; set; }
    // more properties here
}
string querystring = AspMagicMethods.GetQueryStringFromViewModel(searchViewModel);
// querystring == ?keywords=booyah&...

显然,我可以检查每个属性并自己创建字符串,但我想知道框架中是否有任何内置内容可以提供帮助。

您可以使用以下MVC方法从任何控制器操作中执行此操作

var myModel = new SearchViewModel{Keywords ="test"};
RedirectToAction("actionName", "controllerName", myModel)

抱歉,我需要在代码中获取查询字符串,而不是在我呈现动作时——这太棒了,我没有想到这一点。更新了我的问题的示例以进行澄清。OP已经说过他可以遍历每个属性并自己创建字符串,他不想这样做,但这正是您的建议。