2015-09-05 94 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'); 
     } 
    } 
}]);