Razor和String.Format不适用于特殊字符

Rag*_*son 0 c# asp.net-mvc razor

我有Razor和String.Format的问题.我有一个参数如下:

@{
string aktenHeader = Html.Raw(Model.Node.Aktenzeichen + string.Format("{0}" + Model.Node.Aktenkurzbezeichung, (Model.Node.Aktenzeichen != null && Model.Node.Aktenkurzbezeichung != null ? " ./. " : ""))).ToString();    
}
Run Code Online (Sandbox Code Playgroud)

我得到了例外:输入字符串的格式不正确.

请帮帮我的朋友.谢谢

编辑

Model.Node.Aktenzeichen ="Akte"

Model.Node.Aktenkurzbezeichung ="测试$ {}"

我期待aktenHeader ="Schnulli ./.测试$ {}"

Kev*_*ühl 6

你必须逃避你的花括号Model.Node.Aktenkurzbezeichnung.

Model.Node.Aktenkurzbezeichung = "Test ${{}}"
Run Code Online (Sandbox Code Playgroud)

这个问题已经回答了,例如:如何在.NET中的格式字符串中转义大括号(花括号)

如果您无法根据需要更改/替换大括号,那么我认为最简单的方法是不使用string.Format():

@{
   string aktenHeader = Html.Raw(Model.Node.Aktenzeichen + (Model.Node.Aktenzeichen != null && Model.Node.Aktenkurzbezeichung != null ? " ./. " : "") + Model.Node.Aktenkurzbezeichung).ToString();    
}
Run Code Online (Sandbox Code Playgroud)