С помощью старого ASP.NET мы могли легко создавать пользовательские элементы управления (.ascx), ведь многие элементы управления были/полностью независимы от текущего представления. Интересно, возможно ли это с MVC?Возможно ли создать частичный вид в качестве независимого «виджета»?
Мне нужно показать простой список пользователей, проблема в том, что этот список должен отображаться более чем в одном месте на моем сайте. Хотя я могу просто изменить свои модели просмотров и добавить к ним модель «виджета», я хотел бы избежать этого. Желательно, я хотел бы мой список пользователей требую только следующего:
@Html.Partial("Link/To/My/List")
быть включен в другой View - модель Листа бы заполняться другим способом. Я думал использовать AJAX внутри своего частичного, но это похоже на плохую идею. Есть ли какой-либо другой путь вокруг него или это просто плохая идея, которая нарушает предположения MVC?
И если вы не хотите, чтобы кто-то случайно называют этот частичный вид снаружи вид (непосредственно из веб-браузера) вы можете добавить ['ChildActionOnlyAttribute'] (http://msdn.microsoft.com/en-us/library/system.web.mvc.childactiononlyattribute (v = vs.118) .asp x) к методу. –
@ErikPhilips: Это прекрасно работает, однако, есть ли способ включить js-скрипты? Например, если у нас есть «виджет» с раскрывающимся списком, когда опция выбрана, виджет должен быть перезагружен через ajax. Хотя это легко сделать, нам нужно включить сценарии в основное представление, использующее наш виджет, - есть ли способ включить сценарии вместе с частичным представлением? – user2384366
Не из коробки.Взгляните на [Как сделать раздел в частичном представлении в MVC3?] (Http://stackoverflow.com/questions/13764936/how-to-render-a-section-in-a-partial-view-in -mvc3/13765578 # 13765578) –