2013-07-25 2 views
3

Есть ли способ изменить префикс привязки со значением, которое исходит из параметров запроса?Префикс привязки динамической модели Asp.Net MVC

У меня много всплывающих всплывающих всплывающих окон, и все они имеют один и тот же ViewModel.

Я могу добавить префикс привязки ко всем полям при запросе на фильтры поиска, но я не знаю, как я могу заставить [Bind (Prefix = "")] работать со значениями, исходящими из параметров запроса ,

// get the search filters with the bindingPrefix we need 
public ActionResult Search(string bindingPrefix) 
{ 
    ViewData.TemplateInfo.HtmlFieldPrefix = bindingPrefix; 
    SearchViewModel model = new SearchViewModel 
    { 
     BindingPrefix = bindingPrefix 
    }; 

    return PartialView("_SearchFilters", model); 
} 

// post the search filters values 
[HttpPost] 
public ActionResult Search([Bind(Prefix = model.BindingPrefix)]SearchViewModel model) 
{ 

} 
+0

Почему вы изменить префикс привязки в вашем действии? – ataravati

ответ

4

Я не знаю, почему вы хотели бы это сделать, но это должно сработать.

В вашей форме на представлении, имеют скрытое значение

@Html.Hidden("BindingPrefix", Model.BindingPrefix) 

Изменить свое действие на следующий

[HttpPost] 
public ActionResult Search(SearchViewModel model) 
{ 
    UpdateModel(model, model.BindingPrefix); 
} 
Смежные вопросы