草庐IT

tx_partner_domain_model_partner

全部标签

c# - Model 和 ViewModel 的验证最佳实践

我有单独的模型和View模型类。其中viewmodel类仅进行UI级别验证(引用:Validation:ModelorViewModel)。我可以在Controller中验证模型(vewmodel)是否有效。问:如何验证模型(带有数据注释的主要实体)。我没有使用模型对象开发View模型。只需复制属性并添加该特定View中可能需要的所有属性。//ModelClasspublicclassUser{[Required]publicstringEmail{get;set;}[Required]publicDateTimeCreated{get;set;}}//ViewModelClasspu

c# - 处理 ViewModel/Model 中的致命异常

我有一个使用M-V-VM方法编写的应用程序。数据访问在模型中完成。如果此处发生fatalerror(例如,与数据源的连接丢失),则抛出Exception。此异常冒泡到ViewModel。但是,因为数据访问的原始触发器是数据绑定(bind),WPF吞下了这个异常(它只在应用程序在调试器下运行时记录在输出窗口中)。我宁愿这个异常保持未处理状态,这样我的应用程序范围内的未处理异常处理程序就可以拾取它、记录它并优雅地退出。我怎样才能做到这一点? 最佳答案 您可以在调度程序上对异常抛出操作进行排队。//Thispropertyisconnec

c# - MVC3 全局化 : need global filter before model binding

目前,我有一个名为GlobalizationFilter的全局过滤器,它检查路由值、cookie和浏览器语言header以确定请求的正确文化设置:publicoverridevoidOnActionExecuting(ActionExecutingContextfilterContext){//determinecultureInfoThread.CurrentThread.CurrentCulture=cultureInfo;Thread.CurrentThread.CurrentUICulture=cultureInfo;}一切正常,但模型绑定(bind)过程似乎发生在全局过滤器之

c# - DropCreateDatabaseIfModelChanges EF6 导致 System.InvalidOperationException : The model backing the context has changed

迁移到EntityFramework6后,我在构建服务器上执行单元测试时遇到错误。我正在使用DropCreateDatabaseIfModelChanges初始化程序。当我将其更改为MigrateDatabaseToLatestVersion时一切正常,但我想坚持使用之前的初始化程序。我得到的错误是:System.InvalidOperationException:System.InvalidOperationException:Themodelbackingthe'AppContext'contexthaschangedsincethedatabasewascreated.Consi

c# - 如何从 AD DirectoryEntry 获取 DOMAIN\USER?

如何从ActiveDirectoryDirectoryEntry(SchemaClassName="user")对象获取Windows用户和域?用户名在sAMAccountName属性中,但我可以在哪里查找域名?(我不能假设一个固定的域名,因为用户来自不同的子域。) 最佳答案 这假定results是从DirectorySearcher获得的SearchResultCollection,但您应该能够直接从DirectoryEntry获得objectsid。SearchResultresult=results[0];varpropert

c# - 自定义验证属性 : Comparing two properties in the same model

有没有一种方法可以在ASP.NETCore中创建自定义属性,以使用ValidationAttribute验证一个日期属性是否小于模型中的其他日期属性。假设我有这个:publicclassMyViewModel{[Required][CompareDates]publicDateTimeStartDate{get;set;}[Required]publicDateTimeEndDate{get;set;}=DateTime.Parse("3000-01-01");}我正在尝试使用这样的东西:publicclassCompareDates:ValidationAttribute{publi

c# - 如何从 DOMAIN\user 格式的用户名创建 WindowsIdentity/WindowsPrincipal

WindowsIdentity(string)构造函数要求用户名采用username@domain.com格式。但在我的例子中,我从旧的DOMAIN\user格式的数据库中获取用户名(然后必须检查他们的Windows角色成员身份)。从旧式(sAMAccountName)用户名​​创建WindowsPrincipal的最佳方法是什么? 最佳答案 似乎没有办法在不涉及对ActiveDirectory的查询的情况下转换用户名格式。由于是这种情况,因此无需创建WindowsPrincipal来检查组成员身份,因为这可能需要与AD的另一个连接

javascript - ng-model 在 ng-include 中不起作用

我是angularjs的初学者,目前我正面临ng-include的问题。我有一个使用partials的测试应用程序。这是我的代码。Settingsangular.module('TextboxExample',[]).controller('ExampleController',['$scope',function($scope){$scope.textboxVal='fddfd';$scope.ReadGeneralSettings=function(){alert($scope.textboxVal);}$scope.ResetGeneralSettings=function(){

javascript - angular-ui 模态 Controller 内的 ng-model 输入未定义

在我的模态模板中,我尝试使用ng-model为我的Controller范围($scope.name)分配一个值,但它没有工作。它给了我undefined。我究竟做错了什么?Plunkerhere我希望模态创建自己的范围,并将name放入该范围,因为我使用了ng-model。它似乎在模态Controller内部处于事件状态,因为我可以使用{{name}}很好地输出它Name:OKOpenme!Javascript:angular.module('plunker',['ui.bootstrap']);varModalDemoCtrl=function($scope,$modal,$log)

javascript - AngularJS-ng :model - Field is readonly when bound to $q promise?

我试图从AngularJs(1.0.7)中的promise返回单个记录并将结果绑定(bind)到表单。表单正确绑定(bind),但输入字段是只读的-我无法编辑值。如果我改为将记录包装在一个数组中并使用ng:repeat进行迭代,则表单会正确绑定(bind)并且我可以编辑值。我创建了一个plnkr来清楚地展示这个问题:http://embed.plnkr.co/fOWyhVUfekRbKUSRf7ut/preview您可以编辑直接绑定(bind)和列表绑定(bind)的输入字段,但是不能编辑绑定(bind)到单个promise的字段。是否可以将ng:model直接绑定(bind)到从pr