2013-02-19 3 views
0

У меня есть ViewModel, который я хотел бы использовать для заполнения QueryString, почти противоположного привязке, которую MVC делает из коробки. Таким образом, для модели, которая выглядит следующим образом:Turn 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

+0

OP уже сказал, что он может пройти через каждое свойство и сам создать строку, и что он не хочет этого делать, но это то, что вы предлагаете. – ProfK

Смежные вопросы