첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

TestProject.zip
다운로드

▶ ViewComponents/CopyrightViewComponent.cs

using Microsoft.AspNetCore. Mvc;
using System;

namespace TestProject.ViewComponents
{
    /// <summary>
    /// 저작권 뷰 컴포넌트
    /// </summary>
    public class CopyrightViewComponent : ViewComponent
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 호출하기 - Invoke()

        /// <summary>
        /// 호출하기
        /// </summary>
        /// <returns>뷰 컴포넌트 결과</returns>
        public IViewComponentResult Invoke()
        {
            string viewName = "Default";

            if(DateTime.Now.Second % 2 == 0)
            {
                viewName = "Alternate";
            }

            return View(viewName);
        }

        #endregion
    }
}

 

728x90

 

▶ Views/Shared/Components/Copyright/Default.cshtml

<div class="text-center">
    Copyright &copy; @DateTime.Now.Year all right reserved.
</div>

 

300x250

 

▶ Views/Shared/Components/Copyright/Alternate.cshtml

<div class="text-center">
    Copyright &copy; @DateTime.Now.Year <em>Icodebroker</em> all right reserved.
</div>

 

▶ Controllers/TestController.cs

using Microsoft.AspNetCore.Mvc;

namespace TestProject.Controllers
{
    /// <summary>
    /// 테스트 컨트롤러
    /// </summary>
    public class TestController : Controller
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 인덱스 페이지 처리하기 - Index()

        /// <summary>
        /// 인덱스 페이지 처리하기
        /// </summary>
        /// <returns>액션 결과</returns>
        public IActionResult Index()
        {
            return View();
        }

        #endregion
    }
}

 

▶ Views/Test/Index.cshtml

@{
    Layout = null;
}
<p>ViewComponent 클래스 : 저작권을 표시하는 뷰 컴포넌트 만들기</p>
<hr />
@await Component.InvokeAsync("Copyright")
728x90
반응형
그리드형
Posted by 사용자 icodebroker

댓글을 달아 주세요