Soy muy nuevo en MVC y estoy actualizando una aplicación de formulario web a mvc. Tengo un diseño compartido (página maestra en formularios web), me gustaría establecer la información de meta y título por vista, pero no veo ninguna opción para esto. Gracias por cualquier ayuda.configurando el título de la página, meta información en una vista en asp.net mvc 4
Respuesta
Por lo general, en su diseño, tendrá algo como esto:
<!DOCTYPE html>
<html lang="en">
<head>
<title>@ViewBag.Title</title>
<!-- the rest omitted for brevity -->
La parte importante es @ViewBag.Title
. Este fragmento de sintaxis de afeitar codifica y escribe el valor de ViewBag.Title
. ViewBag
es una propiedad en todas las vistas de maquinilla de afeitar a un tipo dinámico que utiliza el diccionario ViewData
como su almacén de respaldo. ViewData
es solo un diccionario donde puedes almacenar cosas aleatorias que quieras usar en tu vista.
En su controlador, diseño o vista, puede obtener o configurar ViewBag.Title
. Aquí está un ejemplo de cómo configurarlo en una vista que utiliza el diseño (llamado _Layout.cshtml
en este ejemplo):
@{
ViewBag.Title = "My View's Title";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Se puede acceder al modelo de metadatos de ViewData.ModelMetadata
. En este ejemplo, enumero las propiedades del modelo y mostrar los nombres:
<ul>
@foreach (var property in ViewData.ModelMetadata.Properties)
{
<li>@property.PropertyName</li>
}
</ul>
Es necesario establecer Viewbag.Title
Estos artículos mirada relevante y le dará algunos consejos:
En su método de control.
ViewData["Title"] = "this is page one title";
de ver, tienen esto. @ViewData["Title"])
si el título es html, debe ser @html.raw(ViewData["TopMessage"])
motor de la maquinilla de afeitar es mejor para MVC, por lo que recomiendo intenta afeitar cuando se crea un nuevo proyecto. espero que te ayude
Me gusta establecer títulos de página dinámicamente utilizando los nombres de acción y controlador. Se puede utilizar una biblioteca como Humanizer para convertir "SomeActionName" en "Algunos nombre de la acción":
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();
}
}
y luego en su _Layout:
<title>@Html.GetPageTitle()</title>
- 1. ASP.NET MVC 3 Vista parcial en la página de diseño
- 2. ASP.NET MVC: vista con la página maestra, ¿cómo establecer el título?
- 3. asp.net mvc parámetro de la página a una vista parcial
- 4. ¿Cómo agregar el título de la página en url en asp.net mvc? (Generación url)
- 5. ¿Cómo pasar las metaetiquetas de la página en ASP.NET MVC?
- 6. ¿Configurando el "título" de un UIPopoverController?
- 7. Cómo establecer el título de la página desde una página de contenido web en ASP.NET 3.5
- 8. Formato datetime en asp.net mvc 4
- 9. ¿Dónde vive el meta contenido en el MVC?
- 10. ¿Existe una vista en Asp.Net MVC?
- 11. Recursividad en una vista ASP.NET MVC
- 12. Anulación de la membresía ASP.NET en ASP.NET MVC 4
- 13. ASP.NET MVC 4 Mobile Características
- 14. Pasar información entre controladores en ASP.Net MVC-
- 15. configurando una página de demostración en github
- 16. ¿Puedo finalizar la representación de una vista en asp.net mvc
- 17. ¿Cómo cierras una página ASP.NET MVC desde el controlador?
- 18. Espere la página en ASP.NET MVC
- 19. ASP.NET MVC: el motor de vista
- 20. Poner ASP.NET MVC en una página de WebForms
- 21. Modelos específicos de vista en ASP.NET MVC?
- 22. Ciclo de vida de la página Razor en ASP.NET MVC
- 23. display de información del ordenador en una página ASP.NET
- 24. AntiForgeryToken obsoleto en ASP.Net MVC 4 RC
- 25. ASP.NET MVC 4 rompe ASP.NET MVC 3 proyectos
- 26. Manera fácil de consumir/mostrar información RSS en MVC ASP.NET
- 27. ASP.NET MVC - Destacando la página actual en la navegación
- 28. configurando el valor de ScriptManager AsyncPostBackTimeout en la página de contenido ASP.NET
- 29. ¿Puedo implementar mi aplicación ASP.NET MVC 4 en .net 4
- 30. ASP.NET MVC LISTA y crear en la misma vista
utilizo la misma manera de fijar etiquetas meta – Kate