asp.net-mvc-2 – 用于实现CanExecute样式命令的ASP MVC 2模式
发布时间:2020-12-16 10:00:50 所属栏目:asp.Net 来源:网络整理
导读:我来自 WPF(MVVM)背景并尝试转向MVC 2.在MVC2中是否有任何模式,您可以使用命令/命令按钮,如 input您用来提交表单,以便在尝试渲染视图时隐藏/禁用. 在MVVM世界中,您的命令可以实现ICommand接口,并且它具有非常有用的CanExecute方法.我想知道ASP MVC 2中是否有
我来自
WPF(MVVM)背景并尝试转向MVC 2.在MVC2中是否有任何模式,您可以使用命令/命令按钮,如< input>您用来提交表单,以便在尝试渲染视图时隐藏/禁用.
在MVVM世界中,您的命令可以实现ICommand接口,并且它具有非常有用的CanExecute方法.我想知道ASP MVC 2中是否有类似内容? 我能想到的唯一方法是在View中进行,这样我就可以检查ViewModel(CanSave)上的标志,并根据它显示/隐藏< input>标签. 基本上我想要运行2个版本的网站,一个是只读模式,另一个是编辑模式. 如果您需要任何澄清,请告诉我. 解决方法
ASP.NET MVC没有“控件”的概念,如经典ASP.NET和WPF中所见. ASP.NET MVC的基础块是
HTML元素,例如< input>,< button>等等.当然,这些并不提供您正在寻找的功能(即ICommand接口的实现).
您正在查看的场景(即表单的两种模式)可以(并且可以说应该)在View级别处理.您已经面向正确的方向:在您的模型上有一个’CanSave’属性,并在视图中使用它来确定生成的内容. 例: <% if (Model.CanSave) { %> <p>First Name: <%= Html.TextBox("firstname",Model.firstname) %> </p> <% } else { %> <p>First Name: <%=Model.firstname %></p> <% } %> 您可能想要查看DisplayTemplates和EditorTemplates …这个场景非常方便.布拉德威尔逊做得很好here. 它将帮助您实现这一目标: <%= (Model.CanSave) ? Html.EditorFor(x => x.firstname) : Html.DisplayFor(x => x.firstname) %> …这使您的视图干净,漂亮. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – Asp.Net MVC 2 – 更改PropertyValueRequir
- asp.net – 跟踪间歇性“对象引用未设置为对象的实例”.构建
- asp.net-mvc – MVC 4 Razor – 动态命名javascript函数
- asp.net-mvc – 使用Orchard CMS构建站点
- asp.net – 未捕获TypeError:无法读取未定义的属性“UI”
- asp.net – 如何从相同的解决方案的MVC项目调试Web API项目
- asp.net-mvc – ASP.NET MVC jQueryUI datepicker在使用AJA
- asp.net – 如何在警告框中显示验证控件的错误消息?
- 安装程序 – 在MVC4 RC中缺少单页应用程序模板
- asp.net-mvc – 在Ubuntu 16.04中运行ASPNET Core应用程序时
推荐文章
站长推荐
- asp.net核心 – dotnet cli – “检测包降级”
- asp.net-mvc-3 – 方法“OrderBy”必须在方法“跳
- asp.net-mvc – 在“控制器操作”中访问操作过滤
- asp.net-mvc – 如何在@ Html.TextBox mvc4中添加
- 当验证失败时,ASP.NET MVC如何在表单中重新填充值
- 显示下载进度条的下载文件代码
- ASP.NET (C#) 数据库-01_ADO_NET-04_DataSet-07_
- asp.net-mvc – ASP.NET MVC:让API控制器操作同
- .NET Core的日志[2]:将日志输出到控制台
- asp.net-mvc – 在MVC 4应用程序中处理带有自定义
热点阅读