【问题标题】:String concatenation with ASP.NET MVC3 Razor使用 ASP.NET MVC3 Razor 进行字符串连接
【发布时间】:2011-12-23 18:12:56
【问题描述】:
我正在尝试在 asp.net mvc 3 razor 中连接一个字符串,但我的 cshtml 遇到了一些 sintax 问题。
我在 foreach 语句中为我的复选框生成一个 id,我的复选框应该以“chk”开头,以及在 ID 上连接一个字段的内容,类似这样:
<input type="checkbox" id="chk+@obj.field" />
但是或示例 id 属性的结果是:id="chk+8"
我怎样才能得到类似“chk8”的结果?
【问题讨论】:
标签:
asp.net-mvc-3
razor
string-concatenation
【解决方案1】:
只需将变量放在前缀旁边:
<input type="checkbox" id="chk@(obj.field)" />
【解决方案2】:
试试
<input type="checkbox" id="@("chk" + obj.field)" />
或
<input type="checkbox" id="chk@obj.field" />
【解决方案3】:
<input type="checkbox" id="chk@(obj.field)" /> 应该可以工作。
加前缀加后缀最直接干净的方式。
@("PREFIX " + obj.field + " SUFFIX")
【解决方案4】:
<input type="checkbox" id="chk@(obj.field)" /> 应该可以工作。
【解决方案5】:
使用 string.Format 在 rozer 视图中连接任何 C# 变量的最佳方法
id="@string.Format("{0}_Title", _Id)" // Apend after
id="@string.Format("Title_{0}", _Id)" // Apend before
id="@string.Format("Title_{0}_Title", _Id)" // Apend Middle