Я пытаюсь создать меню, используя теги <ui><li></li></ui>
.Я читаю из файла XML и сохраняю его в объекте списка (меню).
Объект меню:
Public Class MenuVM
#Region "Properties"
Public Property ID As Integer
Public Property Description As String
Public Property Comments As String
Public Property UserControlName As String
Public Property AssemblyName As String
Public Property ModelName As String
Public Property SortOrder As Integer
Public Property IsSelected As Boolean
#End Region
End Class
Класс HomeController:
Public Class HomeController
Inherits System.Web.Mvc.Controller
Function Index() As ActionResult
Dim oMenuHelper As New MenuHelper
Return View("index", oMenuHelper.BuildMenu())
End Function
<HttpPost()> _
Function Index(ByVal iSelect As Integer) As ActionResult
Dim oMenuHelper As New MenuHelper
Return View("index", oMenuHelper.BuildMenu())
End Function
Function About() As ActionResult
Return View()
End Function
End Class
ASPX СТРАНИЦА:
<%@ Page Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of List(OF MVCApp.MenuVM))" %>
<%@ Import Namespace ="MVCApp" %>
<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<div id="menu" class="block">
<% Using Html.BeginForm("Index", "Home")%>
<ul id="menuItems">
<% For Each item As MVCApp.MenuVM In Model%>
<li><%: Html.ActionLink(item.Description, "Index", "Home", New With {item.ID}, Nothing)%></li>
<%Next%>
</ul>
<% End Using %>
</div>
</asp:Content>
Выход:
Когда вы нажимаете на источник просмотра, вывод выглядит следующим образом:
<!DOCTYPE html>
<html>
<head><title>
Home Page
</title><link href="Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
</head>
<body>
<div class="page">
<div id="header">
<div id="title">
<h1>My MVC Application</h1>
</div>
<div id="logindisplay">
[ <a href="/Account/LogOn">Log On</a> ]
</div>
<div id="menucontainer">
<ul id="menu">
<li><a href="/">Home</a></li>
<li><a href="/Home/About">About</a></li>
</ul>
</div>
</div>
<div id="main">
<div id="menu" class="block">
<form action="/" method="post">
<ul id="menuItems">
<li><a href="/Home/Index/1">Ballot Language</a></li>
<li><a href="/Home/Index/2">Assisting Absentee Voter</a></li>
<li><a href="/Home/Index/3">Instructions</a></li>
<li><a href="/Home/Index/4">Ballot Questions</a></li>
</ul>
</form>
</div>
<div id="footer">
</div>
</div>
</div>
</body>
</html>
ОШИБКА: Когда я нажимаю на ссылку, я получаю следующую ошибку:
Может ли кто-нибудь помочь с этим.Я хочу передать идентификатор меню контроллеру и загрузить соответствующий пользовательский контроль.Я не могу использовать Javascript или jquery в этом проекте, поскольку у пользователя может быть отключен JavaScript на компьютере.