本文介绍了通过使用AngularJS到ASP.NET MVC 5控制器的操作方法发送数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用一把umbraco 7.3和ASP.NET MVC 5在我的项目。
I've used Umbraco 7.3 and ASP.NET MVC 5 in my project.
我想从发送 AngularJS 数据 ASP.NET MVC 5控制器。
I want to Send data from AngularJS to ASP.NET MVC 5 controller.
我该怎么办呢?
reply.html:
<div ng-controller="Reply.controller"> <input type="button" name="Send Reply" ng-click="SendReply()"/> </div>
Reply.controller.js:
angular.module("umbraco") .controller("Reply.controller", function ($scope) { $scope.SendReply = function () { var SendTo = $("#Email").val(); var TextMessage = $("#TextMessage").val(); //TODO: It's need to write some codes to handle data to an action in ASP.NET MVC controller.But how? } });
ASP.NET MVC控制器:
public class IncomingCallSurfaceController : BaseSurfaceController { public ActionResult Reply(SendMailModel sendMailModel) { //TODO: how I should be write this method that be proper for getting data from angularjs? return null; } }
SendMailModel:
public class SendMailModel { public string TextMessage { get; set; } public string SendTo { get; set; } }
package.manifest:
{ propertyEditors: [ { alias: "Send.Reply", name: "Send Reply", editor:{ view:"/App_Plugins/Reply/Reply.html" }, } ] , javascript:[ '/App_Plugins/Reply/Reply.controller.js' ] }
更新:增加解决方案的文件夹结构的图片
推荐答案Reply.controller.js:
angular.module("umbraco") .controller("Reply.controller", function ($scope, $http, $routeParams) { $scope.SendReply = function () { var sendTo = $("#Email").val(); var textMessage = $("#TextMessage").val(); var contentId = $routeParams.id; $scope.xxx = "I'm here!"; var dataObj = { TextMessage: textMessage, SendTo: sendTo, ContentId: contentId }; $http.post("backoffice/Reply/ReplyToIncomingCall/ReplyMessage", dataObj) .then(function (response) { alert("YES!"); //TODO: }); } });
ReplyToIncomingCallController.cs:
namespace Jahan.Nuts.Web.Mvc.UmbracoCms.App.App_Plugins.Reply { [PluginController("Reply")] public class ReplyToIncomingCallController :UmbracoAuthorizedJsonController { [HttpPost][ChildActionOnly] public ActionResult ReplyMessage(SendMailViewModel vm) { return null; } } }
SendMailViewModel:
public class SendMailViewModel { public string TextMessage { get; set; } public string SendTo { get; set; } public int ContentId { get; set; } }
树形结构的文件:
如果您想了解更多关于后台路由的一把umbraco 7.x中,您可以访问这个链接。
If you want to know more about backoffice-routing in Umbraco 7.x, you can visit this link.
更多推荐
通过使用AngularJS到ASP.NET MVC 5控制器的操作方法发送数据
发布评论