c# - AngularJS,MVVM和只读字段

标签 c# angularjs mvvm

我使用MVVM模式设计了许多.NET + AngularJS应用程序,如下所示:

  • REST Web服务传递特定用例的 View 模型(仅包含所需的数据)。
  • AngularJS应用程序在用户修改了支持特定 View 的POST操作的webservice方法后使用了这些 View 模型并传递了相同的 View 模型。

  • 表单 View 模型中的某些字段通常必须是只读的。用户可以准备 View 模型并修改这些字段,因此我必须确保不会发生这种情况。我通过从数据库中检索实体并仅将应该可编辑的viewmodel中的这些字段手动映射到其上来保护后端的应用程序。这是对接的痛苦,容易出错。有更好的方法吗?也许我应该制作另一个模型来发回邮件吗?

    最佳答案

    如果您希望某些字段为只读。您可以从Angular Controller中对其进行控制。

    //In you Angular Controller 
      $scope.readOnlyForm = true;
    
    
    //In your HTML angular template
    <input type="text" ng-model="modelName" ng-readonly="readOnlyForm">
    

    这将使该字段变为只读,或者您可以使用以下方式禁用这些字段
    ng-disabled="readOnlyForm "
    

    由于 readOnlyForm 为true,因此这些字段将为只读。

    关于c# - AngularJS,MVVM和只读字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37867181/

    相关文章:

    c# - 递归 IEnumerable 没有按预期工作?

    c# - Aspnet core 2.1.4 IIS启动问题

    javascript - jquery fancybox + angularJS : fancybox button action issue

    wpf - VM中的Usercontrol事件或MVVM中的View

    c# - 使用 C# 从 PDF 中获取数据

    javascript - 如何解码json中绑定(bind)的html内容?

    javascript - 在 Angular .js 范围内,innerHTml 有何用途?

    javascript - 解决 AngularJS 中的多个 Promise

    c# - 添加此项目作为引用会导致循环依赖 mvvm

    wpf - 是否保证在调用 OnStartup() 时所有 WPF 绑定(bind)都将起作用?