01/10/2018, 17:33

Khai báo namespace ngắn gọn cho model sử dụng trong view của ASP.NET MVC

Bên dưới là ví dụ code của một view được hiển thị ở Razor Engine @model Mvc4Application.Models.DemoModel @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Index</h2> Như chúng ta thấy đấy namespace ở dòng đầu tiên của ...

Bên dưới là ví dụ code của một view được hiển thị ở Razor Engine

@model Mvc4Application.Models.DemoModel

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

Như chúng ta thấy đấy namespace ở dòng đầu tiên của model đang sử dụng trong view này rất là dài dòng Mvc4Application.Models.DemoModel. Để namespace này ngắn gọn hơn chúng ta làm từng bước như sau:

Bước 1: Mở tập tin Web.config trong thư mục Views của project

Bước 2: Bên trong thẻ <namespaces> thêm dòng lệnh <add namespace=”Mvc4Application.Models”/>với Mvc4Application.Models là namespace của model đang được sử dụng trong view, code như bên dưới:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="Mvc4Application.Models"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

Bước 3: Lưu tập tin Web.config vừa sửa ở bước 2

Bước 4: Giờ chúng ta có thể viết lại code của view ở dạng ngắn gọn như bên dưới:

@model DemoModel

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

Bây giờ các bạn thấy đấy, chúng ta có thể dùng tên của model (dòng đầu tiên) mà không cần khai báo namespace dài dòng như ban đầu.

Góc Kinh Nghiệm chúc các bạn thành công! :)


0