tag page net mvc for asp string asp.net-mvc-3 razor type-conversion razor-declarative-helpers

string - page - tag helpers asp net core 2



¿Puedo devolver una cadena usando la sintaxis de @helper en Razor? (3)

En tu caso, creo que esto también funcionaría:

@(GlobalConfigs.GetTranslatedValue(key))

Muestra adicional:

@helper GetTooltipContent() { if(Model.SubCategoryType == SUBCATTYPE.NUMBER_RANGE) { @(string.Format("{0} to {1}", Model.SubCategoryMinimum, Model.SubCategoryMaximum)) } else if(Model.SubCategoryType == SUBCATTYPE.NUMBER_MAXIMUM) { @("<= " + Model.SubCategoryMaximum) } else if(Model.SubCategoryType == SUBCATTYPE.NUMBER_MINIMUM) { @(">= " + Model.SubCategoryMinimum) } }

Tengo un archivo app_code en app_code que se ve así:

@using Molecular.AdidasCoach.Library.GlobalConstants @helper Translate(string key) { @GlobalConfigs.GetTranslatedValue(key) }

Sin embargo, tengo un caso en el que quiero usar el resultado como el texto del enlace en @Html.ActionLink(...) . No puedo convertir el resultado en una cadena.

¿Hay alguna manera de devolver cadenas simples de ayudantes Razor para que pueda usarlas tanto en HTML como dentro de un helper @Html ?


Los ayudantes de Razor devuelven objetos de HelperResult .

Puede obtener el código HTML sin procesar llamando a ToString() .

Para obtener más información, consulte la publicación de mi blog .


No creo que haya una manera de hacer que @helper devuelva otros tipos distintos de HelperResult . Pero podría usar una función con un tipo de string de retorno, por ej.

@functions { public static string tr(string key) { return GlobalConfigs.GetTranslatedValue(key); } }

entonces

@Html.ActionLink(tr("KEY"), "action", "controller")

Ver también http://www.mikesdotnetting.com/article/173/the-difference-between-helpers-and-functions-in-webmatrix

editar: MVC Razor: resultado de Ayudante en html.actionlink sugiere que su ayudante pueda devolver una cadena utilizando @Html.Raw(GlobalConfigs.GetTranslatedValue(key));