Tôi rất mới với MVC và tôi đang cập nhật ứng dụng biểu mẫu web thành mvc. Tôi có một bố trí chia sẻ (masterpage trong webforms), tôi muốn thiết lập thông tin meta và tiêu đề cho mỗi lần xem nhưng tôi thấy không có tùy chọn cho việc này. Cảm ơn vì bất kì sự giúp đỡ.đặt tiêu đề trang, thông tin meta trong chế độ xem trong asp.net mvc 4
Trả lời
Thông thường, trong cách bố trí của bạn, bạn sẽ có một cái gì đó như thế này:
<!DOCTYPE html>
<html lang="en">
<head>
<title>@ViewBag.Title</title>
<!-- the rest omitted for brevity -->
Phần quan trọng là @ViewBag.Title
. Bit cú pháp dao cạo này mã hóa và ghi giá trị của ViewBag.Title
. ViewBag
là thuộc tính trên tất cả các chế độ xem dao cạo đối với loại động sử dụng từ điển ViewData
làm cửa hàng sao lưu của nó. ViewData
chỉ là một từ điển mà bạn có thể lưu trữ các nội dung ngẫu nhiên mà bạn muốn sử dụng trong chế độ xem của mình.
Trong bộ điều khiển, bố cục hoặc chế độ xem, bạn có thể nhận hoặc đặt ViewBag.Title
. Dưới đây là một ví dụ về cách thiết lập nó trong một cái nhìn mà sử dụng cách bố trí của bạn (gọi tắt là _Layout.cshtml
trong ví dụ này):
@{
ViewBag.Title = "My View's Title";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Bạn có thể truy cập vào các siêu dữ liệu mô hình từ ViewData.ModelMetadata
. Trong ví dụ này, tôi liệt kê các thuộc tính của mô hình và hiển thị tên:
<ul>
@foreach (var property in ViewData.ModelMetadata.Properties)
{
<li>@property.PropertyName</li>
}
</ul>
Bạn cần phải thiết lập Viewbag.Title
Những bài viết này tìm kiếm có liên quan và sẽ cung cấp cho bạn một số gợi ý:
Trong phương pháp điều khiển của bạn.
ViewData["Title"] = "this is page one title";
bạn xem, có điều này. @ViewData["Title"])
nếu tiêu đề là html, nó phải là @html.raw(ViewData["TopMessage"])
engine Razor là tốt hơn cho MVC, vì vậy tôi khuyên bạn nên thử dao cạo khi bạn tạo một dự án mới. hy vọng nó giúp bạn.
Tôi muốn đặt tiêu đề trang tự động bằng tên tác vụ và bộ điều khiển. Bạn có thể sử dụng một thư viện như Humanizer để chuyển đổi "SomeActionName" thành "Một số tên hành động":
public static class HtmlHelperExtensions
{
public static MvcHtmlString GetPageTitle(this HtmlHelper helper)
{
var actionName = helper.GetRouteDataValue("action");
var controllerName = helper.GetRouteDataValue("controller");
return new MvcHtmlString(controllerName.Humanize() + " - " + actionName.Humanize());
}
private static string GetRouteDataValue(this HtmlHelper helper, string value)
{
return helper.ViewContext.RouteData.Values[value].ToString();
}
}
và sau đó trong _Layout của bạn:
<title>@Html.GetPageTitle()</title>
- 1. ASP.NET MVC - Xem với trang chính, cách đặt tiêu đề?
- 2. Rails đặt tiêu đề trang ở chế độ xem
- 3. Cách đặt chế độ xem Khu vực làm trang chủ trong ASP.NET MVC?
- 4. Thẻ meta chế độ tiêu chuẩn IE8
- 5. Làm thế nào để vượt qua các thẻ meta của trang trong ASP.NET MVC?
- 6. Cách tắt chế độ xem tiêu đề trong ListView
- 7. vấn đề cử chỉ với chế độ xem bản đồ trong trang chế độ xem
- 8. Sử dụng ASP.NET MVC với chế độ xem chung
- 9. ASP.NET MVC 3 Xem một phần trong trang bố cục
- 10. Đặt "Trang chủ" trong Asp.Net MVC
- 11. Tải chế độ xem trong một chế độ xem khác
- 12. Làm cách nào để hiển thị hình ảnh từ đường dẫn trong chế độ xem asp.net MVC 4 và Razor?
- 13. "Thêm bộ điều khiển"/"Thêm chế độ xem" trong ứng dụng ASP.NET MVC/WebForms ASP.NET
- 14. Giữ tiêu đề luôn ở chế độ xem
- 15. Android-- PhoneGap/WebView bỏ qua thẻ meta chế độ xem?
- 16. C# và ASP.NET MVC: Sử dụng chỉ thị #if trong chế độ xem
- 17. Thực hiện Javascript bên trong một chế độ xem một phần trong ASP.NET MVC
- 18. Đặt chế độ xem jsp mặc định bằng spring mvc
- 19. Cách trả lại 404 với chế độ xem asp.net mvc
- 20. ASP.net MVC có chế độ xem hiện tại
- 21. Có thể sử dụng câu lệnh 'using' trong chế độ xem aspx không? (ASP.NET MVC)
- 22. Thêm tiêu đề X-Frame-Options vào tất cả các trang trong ứng dụng MVC 4
- 23. chế độ xem mvc asp.net mvc. Bao nhiêu logic (nếu có) nên chứa
- 24. Android: Không thể lấy tiêu đề/chân trang của Chế độ xem ListView có thể nhấp
- 25. Trong ASP.NET MVC (3.0/Razor), bạn có thích nhiều chế độ xem hoặc điều kiện trong chế độ xem không? Tại sao?
- 26. Thêm chế độ xem trong các thư mục con trong ASP.NET MVC 3
- 27. Có thể đặt tiêu đề trang bằng ViewBag ở chế độ ASPX không?
- 28. Có thực tiễn không tốt khi sử dụng nhiều chế độ xem trong asp.net mvc
- 29. ASP.NET MVC 4 phá vỡ ASP.NET MVC 3 dự án
- 30. Tôi nên đặt chế độ xem asp.net-mvc mạnh mẽ của mình ở đâu?
tôi sử dụng cùng một cách để thiết lập các thẻ meta – Kate