HTML.Sintaxis de RenderPartial () con Razor


Esto funciona, porque devuelve el resultado de la representación parcial de la vista en una cadena:

@Html.Partial("Path/to/my/partial/view")

Pero prefiero usar RenderPartial y parece que necesito escribir:

@{Html.RenderPartial("Path/to/my/partial/view");}

En lugar de:

@Html.RenderPartial("Path/to/my/partial/view");

Para que funcione. Mensaje de error:

 Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

Si hay alguna mejor manera en lugar de abrir el bloque de código @{...} solo para una llamada de método?

Author: GEOCHET, 2011-08-08

4 answers

  • RenderPartial() es un método void que escribe en el flujo de respuesta. Un método void, en C#, necesita un ; y por lo tanto debe estar encerrado por { }.

  • Partial() es un método que devuelve un MvcHtmlString. En Razor, puedes llamar a una propiedad o un método que devuelve una cadena de este tipo con solo un prefijo @ para distinguirla del HTML simple que tienes en la página.

 131
Author: Ofer Zelig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-27 12:56:46

Html.RenderPartial () es un método void - puede comprobar si un método es un método void colocando el ratón sobre la llamada a RenderPartial en su código y verá el texto (extensión) void HtmlHelper.RenderPartial...

Los métodos Void requieren un punto y coma al final del código de llamada.

En el motor de vista Webforms habrías encerrado tu Html.Llamada RenderPartial () dentro de las picaduras de abeja

Así

<% Html.RenderPartial("Path/to/my/partial/view"); %>

Cuando está utilizando el Razor view engine el equivalente es

@{Html.RenderPartial("Path/to/my/partial/view");}
 44
Author: Nicholas Murray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-08 11:13:16
@Html.Partial("NameOfPartialView")
 9
Author: RouR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-15 09:47:20

Si se le da este formato toma como un enlace a otra página u otro enlace.la vista parcial se utiliza principalmente para representar los archivos html de un lugar a otro.

 0
Author: Sankar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-17 09:53:29