@Html.TextBoxFor
System.FormatException
wirft, wenn der lokalisierte Zeichenfolge enthält geschweifte Klammer Zeichen@ Html.TextBoxFor System.FormatException wirft, wenn der lokalisierte Zeichenfolge Zeichen enthält geschweifte Klammer
public class MyModel
{
[Display(ResourceType = typeof(MyModelResourceProvider), Name="MyProperty")]
public string MyProperty { get; set; }
...
}
public class MyModelResourceProvider
{
public static string MyProperty
{
return GetLocalizedString("stringresourcekey");
}
}
GetLocalizedString
die lokalisierte String unter Verwendung des stringresourcekey
erhält. Die lokalisierte Zeichenfolge könnte Zeichen wie geschweifte Klammer, Hash, Apostroph usw. enthalten.
Mein cshtml verwendet die MyProperty wie folgt.
@Html.TextBoxFor(model => model.MyProperty, new { autocomplete = "off" })
Wenn ich meine asp.net MVC-Anwendung in Visual Studio die oben Zeile wirft System.FormatException
. Ich weiß, dass dies aufgrund des geschweiften Klammercharakters geschieht. Aber wo und wie entkomme ich dem? Wenn ich versuche, zu entkommen, indem ich die geschweifte Klammer durch doppelte geschweifte Klammern in GetLocalizedString
ersetze, rendert die Html doppelte geschweifte Klammern statt einzelner.
Update 1
Was ich will, ist, dass, da ich die geschweifte Klammer mit Doppel geschweiften Klammern in GetLocalizedString
Verfahren am entweichende (dh in C#) Ich einzelne geschweifte Klammer statt doppelt geschweiften Klammern in HTML angezeigt werden soll .
wahrscheinlich Sie müssen [Htmlencode] (https://msdn.microsoft.com/en-us/library/system.web.httpserverutility.htmlencode (v = vs.110) .aspx) die Zeichenfolge vor dem Verzehr in der Ansicht – Liam
@Liam Ich habe versucht mit WebUtility.HtmlEncode (GetLocalizedString ("StringResourcekey")), aber ich bekomme den gleichen Fehler. Mache ich es am richtigen Ort? – surajnaik
Haben Sie versucht, geschweifte Klammer durch doppelte geschweifte Klammer zu ersetzen? –