首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用Html.TextBoxFor时,是否可以将文本框设置为只读?

在使用Html.TextBoxFor时,是否可以将文本框设置为只读?
EN

Stack Overflow用户
提问于 2010-03-29 23:20:13
回答 14查看 149.2K关注 0票数 65

我有以下带有Html.TextBoxFor表达式的标记,并且我希望内容是只读的,这可能吗?

<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action)%>
EN

回答 14

Stack Overflow用户

回答已采纳

发布于 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) %>
票数 40
EN

Stack Overflow用户

发布于 2010-03-29 23:24:33

<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @readonly = true })%>
票数 118
EN

Stack Overflow用户

发布于 2014-08-15 20:03:27

使用以下内容:

 @Html.TextBoxFor(m => m.Whatever, new {@readonly = "readonly"})

如果你想给它分配一个类,你可以用同样的方法,添加@class = "“属性。希望这能有所帮助:)

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2539069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档