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를 사용해 보겠습니다. 감사합니다. –