2013-02-19 48 views
0

我有一个ViewModel,我想用它来填充QueryString,几乎与MVC开箱即用的绑定相反。因此,对于看起来像这样的模式:将ViewModel转换为QueryString

public class SearchViewModel 
{ 
    public string Keywords { get; set; } 
    // more properties here 
} 

我希望能够做这样的事情:

string querystring = AspMagicMethods.GetQueryStringFromViewModel(searchViewModel); 
// querystring == ?keywords=booyah&... 

很显然,我会仔细检查每个属性,并创建字符串自己,但我想知道框架中是否有内置的东西可以提供帮助。

回答

0

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

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

对不起,我需要在代码中获取QueryString,而不是当我渲染动作 - 虽然这很棒,但我没有想到这一点。更新了我的问题的示例以进行说明。 – ajbeaven 2013-02-19 11:54:37

+0

该OP已经表示,他可以通过每个属性自己创建字符串,并且他不想这样做,但这就是您的建议。 – ProfK 2015-10-08 18:34:56