0

我在剃刀视图(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>
}
4

2 回答 2

1

我已经通过使用 TextBox 解决了这个问题,如下所示

@Html.TextBox("Caption", item.GetValForProp<string>("Caption"), new { @class = "txt" })
于 2013-06-13T09:33:55.430 回答
0

用括号括起来 - 注意 @ ( )

<input type="text" name="Caption" class="txt" value="@(item.GetValForProp<string>("Caption"))">
于 2021-06-25T19:45:29.607 回答