Я не думаю, что вы можете встроить реальный код в файл ресурсов и ожидать, что механизм представления вызовет его во время рендеринга, он, вероятно, думает, что это просто строка (и ему не нужно думать больше, чем это ).
Лучше было бы использовать string.Format
.
Сохранить ресурс как:
<div>Click here to {0}</div>
А затем в представлении (я предполагаю, что вы используете бритву):
@string.Format(Resources.Global.LinkHtmlFormat, Html.ActionLink("contact us", null))
Если вы делаете это много, вы также можете «подсластить» это с помощью специального помощника HTML:
public static MvcHtmlString ResourceBasedActionLink(this HtmlHelper htmlHelper, string resourceName, string linkText, string actionName, string controllerName, object htmlAttributes)
{
var link = htmlhelper.ActionLink(linkText, actionName, controllerName, htmlAttributes);
return MvcHtmlString.Create(string.Format(resourceName, link)));
}
А потом:
@Html.ResourceBasedActionLink(Resources.Global.LinkHtmlFormat, "Contact Us", "Contact", Controller", null)