我在我的 MVC 应用程序中使用 AngularJS 并尝试使用两全其美。我真的很喜欢在 MVC 中如何在视图模型中设置验证逻辑,并通过 jQuery 验证在 Razor 视图中轻松生成客户端验证。我使用 AngularJS 通过路由等来获取 SPA 行为,但是当我创建一个剃刀视图时,我用它来注入页面:
<div data-ng-view="data-ng-view"></div>
然后 jQuery 验证停止工作,即使脚本文件是注入视图的页面上的引用。请参阅下面的剃刀观点:
@model BandViewModel
<div data-ng-controller="App.BandCreateCtrl">
<form name="startBandForm">
@Html.ValidationSummary(true)
<br />
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name, new { data_ng_model = "band.Name" })
@Html.ValidationMessageFor(m => m.Name)
<br/>
<input data-ng-disabled="startBandForm.$invalid" type="submit" data-ng-click="createBand(band)" value="Create"/>
</form>
</div>