加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – asp.net MVC:禁用一个TextBox

发布时间:2020-12-16 00:26:41 所属栏目:asp.Net 来源:网络整理
导读:我有一个Html.TextBox(),我需要使它在某些条件下禁用。使用TextArea它就像这样: %=primaryLang ? Html.TextArea("e.location",new { rows = 2,cols = 60 }) : Html.TextArea("e.location",cols = 60,disabled = "true" })% 但是使用TextBox是不可能的: %=
我有一个Html.TextBox(),我需要使它在某些条件下禁用。使用TextArea它就像这样:
<%=primaryLang ? Html.TextArea("e.location",new { rows = 2,cols = 60 }) : Html.TextArea("e.location",cols = 60,disabled = "true" })%>

但是使用TextBox是不可能的:

<%=primaryLang ? 
      Html.TextBox("e.startDate") : 
        Html.TextBox("e.startDate",new { disabled = "true"})%>

它将在值中发出{disabled = true}。这是因为允许你传递HtmlAttributes的唯一功能也需要传递模型。此视图是强类型,模型将自动填入。

如果我像这样传递:

Html.TextBox("e.startDate",Model.e.startDate,new { disabled = "true"})

或者这样:

Html.TextBox("e.startDate",null,new { disabled = "true"})

GET版本将工作,但POST版本将发出NullReferenceException。以上似乎都有完全相同的效果。两者都将从GET模型中提供正确的数据。

如果我像这样离开它的欲望:

Html.TextBox("e.startDate")

它将正常工作,对于POST和GET …

为什么?任何方式来完成?

谢谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读