Вход на сайт
Воспоминание ASP NET MVC 02.01.2025
59 просмотров
Перейти к просмотру всей ветки
uscheswoi_82 коренной житель
в ответ uscheswoi_82 5 дней назад, 07:10
Помойму в ASP NET MVC1, и в MVC2 точно - нужно использовать глобальную переменную ViewData,а в современном ASP NET Razor нужно использовать глобальную переменную ViewBag. В классическом ASP NET WebForms можно создавать элементы управления, и в ASP NET MVC2 вроде бы можно создавать элементы управления. Допустим нам нужно создать меню, вот элемент управления меню ViewUserControl1.ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <ul style="list-style-type:none;margin:0;padding:0;overflow:hidden; background-color:blue; color:white;"> <% foreach (String i in (IEnumerable<String>)ViewData["x"]) { %> <li style="float:left; display:block;text-align:center;padding:20px;text-decoration:none;"><% = i%></li> <% } %> </ul>
А вот шаблон ViewMasterPage1.Master:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title> </head> <body> <div> <asp:ContentPlaceHolder ID="MainContent" runat="server"> </asp:ContentPlaceHolder> <% String[] arrItems = {"Главная страница", "Продукты", "О нас..."}; ViewData["x"] = arrItems; Html.RenderPartial("ViewUserControl1", ViewData); %> </div> </body> </html>
Может быть это изврат, но если вызвать это в веб браузере, то будет что-то такое:
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение