如何使用“ @ Html.TextBoxFor上的readonly = true属性”

时间:2019-10-18 21:02:02

标签: c# asp.net-mvc

我正在开发一个简单的帮助台应用程序,以提高我的C#技能

问题: 我想将当前登录的用户传递回去,以存储在数据库中。这是我到目前为止的内容:

<div class="form-group">
    @Html.LabelFor(model => model.RaisedBy, htmlAttributes: new { @class = "control-label col-md-2"})
    <div class="col-md-10 ">
        @Html.TextBoxFor(model => model.RaisedBy, htmlAttributes: new { @Value = User.Identity.Name.ToString() })
    </div>
</div>

如果我使用@ Html.TextBoxFor,则可以成功地将当前登录的用户传递给数据库。但是,当我尝试添加readonly = true属性时,出现错误。

无效的代码:

@Html.TextBoxFor(model => model.RaisedBy, htmlAttributes: new 
{ @Value = User.Identity.Name.ToString(), readonly = true })

我花了好几个小时尝试不同的组合,但是我担心这是我的经验,我可能忽略了一些非常简单的东西。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您收到一个错误,因为readonly是C#中的关键字。为了将关键字用作变量名,您需要在它们前面加上@前缀。只需设置@readonly = true