2016-04-06 2 views
2

У меня есть этот метод действий:действие использовать значение переменной для имени параметра

public IActionResult SearchHeader(string query, string filter) 
{ 
    return RedirectToAction("Search", new { filter = query }); 
} 

За исключением вместо параметра передается в Searchaction method называют filter, мне нужно, чтобы назвать value переменной filter передается в SearchHeaderaction method ... как мне это сделать?

Например, если значение filter является Name и значение query является Bob, то я хочу, чтобы маршрут к

.../Search/?Name=Bob 

ответ

4

Похоже, что вы хотите строковое значение filter для использования в маршруте , а не буквальное значение «фильтр», которое делает ваш текущий код.

Чтобы сделать это, вы можете использовать RedirectToAction() перегрузку, которая принимает RouteValueDictionary и заполнить словарь ключ filter с query:

var dictionary = new RouteValueDictionary(); 
dictionary[filter] = query; 
return RedirectToAction("Search", dictionary); 
Смежные вопросы