我在剃刀视图(list.cshtml)中将属性值分配给html输入测试框,如下所示
string cap = item.GetValForProp<string>("Caption");
input type="text" name="Caption" class="txt" value="@cap"
这很好用。
但是,如果我想写下面的内容:
input type="text" name="Caption" class="txt" value="@item.GetValForProp<string>("Caption")"
编译错误无法识别“Caption”参数。如果我给出单引号,则不会将其视为参数,而是给出无效参数的异常。
我该如何纠正?
代码块:
@foreach (var item in Model) {
cap = item.GetValForProp<string>("Caption");
nameinuse = item.GetValForProp<string>("NameInUse");
desc = item.GetValForProp<string>("Description");
<tr>
<td class="txt">
<input type="text" name="Caption" class="txt" value="@cap"/>
<input type="text" name="Caption" class="txt" value="@nameinuse"/>
<input type="text" name="Caption" class="txt" value="@desc"/>
</td>
</tr>
}
答案 0 :(得分:1)
我已经通过使用TextBox解决了这个问题,如下所示
@Html.TextBox("Caption", item.GetValForProp<string>("Caption"), new { @class = "txt" })
答案 1 :(得分:0)
用括号括起来 - 注意@( ):
cts.Token