2015-09-05 64 views
0

如果我删除默认的Html.BeginForm并用任何其他表单替换,我的MVC表单不会提交回控制器。我错过了什么?MVC表单不提交角表格

@using (Html.BeginForm()) { 
    @Html.AntiForgeryToken() 

和替换该角形式

@model ReNtZBookings.Models.tblBooking 
<div id="example" class="container"> 
<form name="form1" ng-app novalidate> 
+0

是否使用NG-形式?您的路由如何配置? – Anonymous

+0

这是一个模板化的MVC表单,我试图更改为Angular,因为表单上有很多数据,我认为这些数据处理得更好。 routes.MapRoute( name:“Default”, url:“{controller}/{action}/{id}”, 默认值:new {controller =“bookMe”,action =“Create”,id = UrlParameter.Optional } ); – Andy

回答

0

这听起来像你试图将两者搅和,我不认为这是可能的。你需要做这样的事情:

<div data-ng-app="app"> 
    <form name="form1" ng-form="submitForm()" ng-controller="yourController" novalidate> 
     <input type="text" ng-model="yourmodel.name" /> 
     <button type="submit">Submit Form</button> 
    </form> 
    </div> 

然后在您的angularjs控制器,你就需要添加submitForm()方法

var app = angular.module("app", []); 
app.controller("yourController", ['$scope', function($scope) { 
    $scope.yourmodel = {}; 
    $scope.submitForm = function() { 
     $http.post({ 
     method: 'POST', 
     url: '/Controller/Action', 
     data: $scope.yourmodel, 
     }).success(function (data, status, headers, config) { 
     alert('success'); 
     } 
    } 
}]);