我现在已经使用Angular引入了客户端地址查找,这意味着现在使用ng-model修饰了一些表单字段,以使Angular查找能够填充搜索到的地址.
例如.:
@HTML.TextBoxFor(m => m.Town,new { @,ng_model="address.town" })
现在添加ng-model会覆盖重新加载页面时从MVC模型设置的值.
在浏览器中查看源显示文本框值已从MVC模型正确设置为Town,但Angular随后出现并使用address.town填充它,该地址为空,因此表单不显示任何值.
我怎样才能阻止Angular这样做呢?
解决方法 您可以使用ng-init强制MVC中的值<input name="Town" type="text" ng-model="address.town" ng-init="address.town= @Model.Town" />@HTML.TextBoxFor(m => m.Town,new { ng_model="address.town",ng_init="address.town= Model.Town" })
或者,我使用我在这里找到的指令https://stackoverflow.com/a/22567485/2030565
app.directive('input',function ($parse) { return { restrict: 'E',require: '?ngModel',link: function (scope,element,attrs) { if (attrs.ngModel) { val = attrs.value || element.text(); $parse(attrs.ngModel).assign(scope,val); } }}; });总结
以上是内存溢出为你收集整理的c# – AngularJs和ASP.NET MVC 5 – ng-model覆盖文本框值全部内容,希望文章能够帮你解决c# – AngularJs和ASP.NET MVC 5 – ng-model覆盖文本框值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)