1
我想在ASP.NET MVC 5中創建用戶控件。控件名稱是LoginUserControl.ascx並保存在視圖下的共享文件夾中。我試圖在_Layout.cshtml中調用用戶控件,但它給出了錯誤?請建議正確的方法來做到這一點。在ASP.NET MVC中的用戶控件5
.ASCX代碼:
<%@ Control Language="C#"
AutoEventWireup="true"
CodeBehind="LoginUserWebControl.ascx.cs"
Inherits="TestApp.Views.Shared.LoginUserWebControl" %>
<%
if (Request.IsAuthenticated) {
%>
Welcome <b><%: Page.User.Identity.Name %></b>!
@Html.ActionLink("Log Off", "LogOff", "Account")
<%
}
else {
%>
@Html.ActionLink("Log On", "LogOn", "Account")
<%
}
%>
添加在Layout.cshtml
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
<li>@Html.Partial("LoginUserWebControl")</li>
</ul>
錯誤:
The view at '~/Views/Shared/LoginUserWebControl.ascx' must derive from ViewPage, ViewPage, ViewUserControl, or ViewUserControl. Blockquote
混合Webforms控件和MVC是一個壞主意。 –
你真正想要的是創建PartialView,而不是用戶控件。 –
我會嘗試使用PartialView。謝謝 –