我只是在一个用asp.net webforms编写的网站上实现AngularJ。
我知道按钮上的ng-Submit
时,表单也在进行Post调用。
如何从form
停止submitting
并让angular do its work
。
我的示例代码如下。
<form id="form1" runat="server">
<div >
<input type="text" data-ng-model="enteredName" ng-model-instant/>
<button class="btn" value="add" data-ng-submit="addName()" >Add</button>
</div>
</form>
//Add Name function
$scope.addName = function () {
$scope.names.push($scope.enteredName);
$scope.enteredName = '';
};
注意:The ng-submit controller is working fine it is adding the input to the string list but after that form makes post call. and page go to IsPostBack
。
任何人都会指导我处理表格而不发布。
答案 0 :(得分:1)
如果您打算使用.NET制作角形图,则应该使用.NET MVC而不是.NET webforms。原因是所有webforms页面都有自己的<form>
元素,用于维护状态。当您在Visual Studio中创建一个新的webforms页面时,可以看到这一点,它会自动添加:
<form runat="server" ID="Form1">
此外,当您制作像<asp:LinkButton>
这样的网页表单控件或其他从基本HTML提供“增强”功能的内容时,它们实际上会呈现为使用父表单的<input>
标记。因此,为了利用webforms的任何功能,你真的需要坚持他们的模型,并且很难在其上添加任何其他东西。这是可能的,有时候也很容易,但这是一个很长的学习曲线,可以找出沿途的所有问题。
相反,.NET MVC为您提供了更少的开箱即用,只需很少的包装器和回发或视图状态就可以将原始HTML暴露给您。我认为对于使用angular的东西来说,这是一个更好的主机,特别是如果你使用angular for forms,这将阻止你使用.NET的webforms功能。
答案 1 :(得分:0)
我首先使用ng-click而不是ng-submit。而且我也会在使用angular的页面上清除asp.net控件。