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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – asp.net MVC:禁用一个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 …

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

谢谢! 原文链接:https://www.f2er.com/aspnet/252284.html

猜你在找的asp.Net相关文章