У меня есть два элемента управления Address.ascx
на странице ASP.NET MVC.Как использовать два экземпляра одного и того же .ascx на одной странице в ASP.NET MVC?
<h1>Shipping Address</h1>
<% Html.RenderPartial("Controls/AddressControl"); %>
<h1>Billing Address</h1>
<% Html.RenderPartial("Controls/AddressControl"); %>
Конечно, с кодом точно так же я получаю одинаковые идентификаторы для каждого поля в адресе. Я могу легко добавить строку к идентификатору полей, чтобы у меня были 'Street1_billing'
и 'Street1_shipping'
, но я не совсем понимаю, как сопоставить это с моделью.
Какое оптимальное решение для сопоставления модели с массивом элементов (в данном случае всего 2). Я не знаю ни одного решения ASP.NET «из коробки» для этого.
Примечание: Это немного похоже на this question, и я мог бы использовать this solution from Scott Hanselman, но это не совсем то, что я хочу. В моем случае я знаю, что у меня есть два элемента, поэтому его по существу 2 массива элементов, но мне интересно, есть ли немного более элегантное решение.
PS. Я уверен, что это задавали много раз раньше, но я просто не могу найти правильные условия поиска. Пожалуйста, напишите этот вопрос, если вы знаете об обманах!
спасибо. это выглядит самым чистым решением. Я не понял, что модельный манипулятор был таким умным :-), и насколько это касается местоположения .ascx, я пишу корзину покупок в существующем приложении, и я хочу, чтобы элементы управления корзиной покупок были как можно более раздельными. –
Этот парень умный. Одна вещь, которую я до сих пор не видел, - это если вы можете сопоставить значение с маршрутом с тем же типом синтаксиса. –