生成回发的AngularJS函数的问题

生成回发的AngularJS函数的问题,angularjs,postback,Angularjs,Postback,我们有ASP.NET应用程序,还有一个包含AngularJS代码的页面。该页面上有一个超链接,当您单击该超链接时,该超链接的文本可在“全选”和“全选”之间切换。通过单击超链接,可以选择和取消选择复选框组。问题是当我在页面上没有“表单”标签时,就没有回帖,这很好。但是,我需要添加“表单”标签,点击超链接开始生成回发,这是不希望的。我不知道为什么。所以,我的问题是-发生了什么,如何保留“表单”标签并防止页面发帖 代码如下: 1) 主HTML(没有“表单”标记,没有回发,但我需要“表单”标记): 您真

我们有ASP.NET应用程序,还有一个包含AngularJS代码的页面。该页面上有一个超链接,当您单击该超链接时,该超链接的文本可在“全选”和“全选”之间切换。通过单击超链接,可以选择和取消选择复选框组。问题是当我在页面上没有“表单”标签时,就没有回帖,这很好。但是,我需要添加“表单”标签,点击超链接开始生成回发,这是不希望的。我不知道为什么。所以,我的问题是-发生了什么,如何保留“表单”标签并防止页面发帖

代码如下:

1) 主HTML(没有“表单”标记,没有回发,但我需要“表单”标记):


您真的需要在表单中使用runat=“sever”吗?除非表单指定了action属性,否则Angular不会将表单提交到服务器。如果不需要,请删除runat=“server”。我需要它是因为其他功能需要它。但是,为什么会发生回发?这是客户代码,我已经解决了这个问题。实际上,我正在使用引导css库来设置切换按钮的样式,默认情况下,其类型为“提交”。但是,当我把类型设置为“按钮”时,一切都很好,这意味着没有回帖。无论如何,谢谢你。
<%@ Page language="c#" Codebehind="Default_New.aspx.cs" AutoEventWireup="True" Inherits="Concert.Default_New" %>
<%@ Register TagPrefix="site" TagName="header" Src="includes/Header.ascx" %>
<%@ Register TagPrefix="site" TagName="head" Src="includes/Head.ascx" %>

<!doctype html>

<html id="ng-app" ng-app="cashdeskActionSearchApp">
    <head>
        <site:head id="Head" runat="Server" />        
        <link href="bootstrap/v3/css/bootstrap.min.css" rel="stylesheet" type="text/css"></link>
        <link href="css/actions.css" rel="stylesheet" type="text/css"></link>
        <link href="css/new_search.css" rel="stylesheet" type="text/css"></link>
        <link href="includes/Style.css" rel="stylesheet" type="text/css"></link>
        <script type="text/javascript" src="Scripts/respond.min.js"></script>
        <script src="Scripts/jquery-1.11.1.min.js" type="text/javascript"> </script>
        <script src="Scripts/toastr.js" type="text/javascript"> </script>
        <script src="Scripts/moment.min.js" type="text/javascript"> </script>
        <script src="Scripts/i18n/moment.ru.js" type="text/javascript"> </script>
        <script src="bootstrap/v3/js/bootstrap.min.js" type="text/javascript"> </script>
        <script src="angular/1.2/angular.min.js"></script>
        <script src="angular/1.2/angular-route.min.js"></script>
        <script src="angular/angular-resource.min.js" type="text/javascript"> </script>
        <script src="angular/ui-bootstrap/ui-bootstrap-tpls-0.11.0.min.js" type="text/javascript"> </script>
        <script src="Scripts/i18n/angular-locale_ru.js"></script>
        <script src="/Admin/js/services.js" type="text/javascript"> </script>
        <script src="/Admin/js/directives.js" type="text/javascript"> </script>
        <script src="Scripts/CashdeskActionSearchApp.js" type="text/javascript"> </script>
    </head>
    <body bgcolor="#FFFFFF" text="#333333" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
        <form id="form1" runat="server">
            <site:header id="HeaderInclude" runat="server"/>
            <div ng-view class="container-fluid"></div>
        </form>
    </body>
</html>
<div id="search_categories_filter">
    <label>Типы мероприятий:</label><br/>
    <button class="btn btn-link btn-mini" ng-click="UpdateCheckBoxes()">
        <span ng-show="checkBoxesState">Select all</span>
        <span ng-hide="checkBoxesState">Unselect all</span>
    </button>
    <div class="row-fluid" ng-repeat="at in actionsQuery.actionTypes">
        <div class="checkbox">
            <label><input type="checkbox" ng-model="at.checked">{{at.Description}}</label>
        </div>
    </div>
</div>
$scope.UpdateCheckBoxes = function() {
    angular.forEach($scope.actionsQuery.actionTypes, function(cb) {
        cb.checked = $scope.checkBoxesState;
    });
    $scope.checkBoxesState = !$scope.checkBoxesState;
};

$scope.checkBoxesState = false;