我有以下带有Html.TextBoxFor表达式的标记,并且我希望内容是只读的,这可能吗?
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action)%>
发布于 2010-03-29 23:25:45
根据@1c1cle在评论中的建议更新了.NET的现代版本:
<%= Html.TextBoxFor(model => Model.SomeFieldName, new {{"readonly", "true"}}) %>
一定要意识到这不是一种“安全”的方式,因为有人可以通过注入javascript来改变这一点。
需要注意的是,如果将readonly
值设置为false
,实际上不会看到任何行为变化!因此,如果你需要基于一个变量来驱动它,你不能简单地将该变量插入其中。相反,您需要使用条件逻辑来简单地不传递readonly
属性。
这里有一个未经测试的建议,告诉你如何做到这一点(如果有问题,你可以随时做一个if/else):
<%= Html.TextBoxFor(model => Model.SomeFieldName, shouldBeReadOnlyBoolean ? new {{"readonly", "true"}} : null) %>
发布于 2010-03-29 23:24:33
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @readonly = true })%>
发布于 2014-08-15 20:03:27
使用以下内容:
@Html.TextBoxFor(m => m.Whatever, new {@readonly = "readonly"})
如果你想给它分配一个类,你可以用同样的方法,添加@class = "“属性。希望这能有所帮助:)
https://stackoverflow.com/questions/2539069
复制相似问题