Вход на сайт
Воспоминание ASP NET MVC 02.01.2025
589 просмотров
Перейти к просмотру всей ветки
в ответ uscheswoi_82 02.01.25 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>
Может быть это изврат, но если вызвать это в веб браузере, то будет что-то такое:
.jpg)
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнении
Моя ФЛ Он и Она
Моя ФЛ Он и Она