internal static string UrlTemplate(HtmlHelper html) { return(String.Format(CultureInfo.InvariantCulture, "<a href=\"{0}\">{1}</a>", html.AttributeEncode(html.ViewContext.ViewData.Model), html.Encode(html.ViewContext.ViewData.TemplateInfo.FormattedModelValue))); }
internal static MvcHtmlString ValueForHelper( HtmlHelper html, string name, object value, string format, bool useViewData ) { string fullName = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name); string attemptedValue = (string)html.GetModelStateValue(fullName, typeof(string)); string resolvedValue; if (attemptedValue != null) { // case 1: if ModelState has a value then it's already formatted so ignore format string resolvedValue = attemptedValue; } else if (useViewData) { if (name.Length == 0) { // case 2(a): format the value from ModelMetadata for the current model ModelMetadata metadata = ModelMetadata.FromStringExpression( String.Empty, html.ViewContext.ViewData ); resolvedValue = html.FormatValue(metadata.Model, format); } else { // case 2(b): format the value from ViewData resolvedValue = html.EvalString(name, format); } } else { // case 3: format the explicit value from ModelMetadata resolvedValue = html.FormatValue(value, format); } return(MvcHtmlString.Create(html.AttributeEncode(resolvedValue))); }
public static MvcHtmlString Id(this HtmlHelper html, string name) { return(MvcHtmlString.Create(html.AttributeEncode(html.ViewData.TemplateInfo.GetFullHtmlFieldId(name)))); }