Что лучший способ состоит в том, чтобы реализовать пользовательские элементы управления в ASP.NET MVC?

Xcode 8 • Swift 3

Ответ Leo Dabus является потрясающим! Я просто хотел предоставить решение «все-в-одном»:

let url = URL(string: 
    "http://www.apple.com/euro/ios/ios8/a/generic/images/og.png")

let task = URLSession.shared.dataTask(with: url!) { data, response, error in
    guard let data = data, error == nil else { return }

    DispatchQueue.main.async() {    // execute on main thread
        self.imageView.image = UIImage(data: data)
    }
}

task.resume()
11
задан Sid M 14 July 2014 в 11:44
поделиться

3 ответа

Для реализации пользовательского элемента управления, Вы делаете следующий вызов:

<% Html.RenderPartial("~/Views/Shared/MyControl.ascx", {data model object}) %>

Можно также видеть более старый синтаксис, который с PR5 больше не допустим

<%= Html.RenderUserControl("~/Views/Shared/MyControl.ascx", {data model object}) %>

Необходимо будет всегда волноваться о повреждении кода при перемещении от Веб-форм до MVC, однако команда MVC ASP.NET сделала отличную работу для уменьшения проблем.

8
ответ дан 3 December 2019 в 09:42
поделиться

Да, можно сделать RenderPartial. Это - хорошее начало. Но в конечном счете этим парням будут нужны логика и другой материал типа контроллера. Будьте в поисках реализации подконтроллера от команды платформы. Должно также быть что-то в MvcContrib скоро. Или самокрутка.

Править: Я просто отправил об этом здесь: http://mhinze.com/subcontrollers-in-aspnet-mvc/

1
ответ дан 3 December 2019 в 09:42
поделиться

Как предложенный Nick, Вы действительно сможете представить свои пользовательские элементы управления, но очевидно цикл страницы, pagestate и обратная передача от традиционных Веб-форм ASP не будут больше работать, таким образом делая Ваши средства управления, скорее всего, бесполезными.

Я думаю, что необходимо будет переписать большинство сложных средств управления для портирования веб-сайта на MVC, в то время как простые средства управления, которые, например, обеспечивают только форматирование и не имеют никакого состояния обратной передачи, должны просто работать. Код, предоставленный Nick, будет просто работать в этом случае.

И о совместном использовании между большим количеством проектов: Я думаю, что средства управления будут больше похожи "на допускающие повторное использование представляющие HTML компоненты", которые могут быть совместно использованы через веб-сайт, а не "компоненты повторно используемого кода" с логикой (как средства управления WebForms). Ваша веб-логика/должна быть в контроллерах страниц а не в средствах управления HTML. Поэтому совместное использование средств управления через большее количество проектов не будет так же полезно как в случае WebForms.

1
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: