2015-05-21 3 views
3

У меня динамический процессора URL-адресКак связать модель во время действия?

public ActionResult DynamicUrl(string slug = null) 

этот метод работает через слизень (кстати, что же пробковое стоять?) И работает, если слизень отображение продукта или выполнение поиска продукта.

Как часть поиска продукта, у меня есть страница = 1 параметр querystring.

E.g. /Womens/Dresses?page=2 

Обычно я хотел бы сделать это в действии поиска нормальный продукт, который связывает страницы строки запроса к модели Поиск продукта.

public ActionResult Results(ProductSearchModel searchModel) 

Как я могу связать строчку во время действия? Например,

public ActionResult DynamicUrl(string slug = null) 
{ 
    ProductSearchModel psm = new ProductSearchModel(); 

    //Auto bind psm here. 
    // E.g. Controller.BindModel(psm); 
} 

Надеюсь, я не уверен в этом.

+2

Пуля - это читаемая человеком дружественная часть URL-адреса, обычно добавляемая к концу URL-адреса. Если вы введете только адрес «http: // stackoverflow.com/questions/30386176' в адресной строке, обратите внимание, как он добавляет«/how-to-bind-model-while-action »до конца, когда страница is –

+0

http://stackoverflow.com/questions/6055415/adding-id-and-title-to-url-slugs-in-asp-net-mvc Это вы что искали? – Medo

+0

Если у вас есть строка запроса '? Page = 2', тогда метод должен иметь соответствующий параметр - public ActionResult DynamicUrl (строка slug, int page)' (не нужно иметь 'string slug = null', так как' string' является ссылочный тип) –

ответ

2

ли вы имеете в виду:

UpdateModel(psm); 

Это будет связать текущую коллекцию формы для модели, указанной.

Вы также можете использовать:

TryUpdateModel(psm); 

Эта версия не будет бросать исключение, если что-то не удается, и возвращает true или false.

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