asp.net-mvc – 如何使用ajax get或post在带有参数的mvc中将数据
我试图使用ajax将数据从View传递到Controller Action Method,如下所示: –
我有一个用户的Membership实例,我从另一个控制器传入这个视图,使用的视图有点像这个ViewBag.MyUser = MyUser; 现在我想使用ajax将’MyUser’传递给另一个Controller表单,如下所示. $('#Link').click(function () { $.ajax({ url: http://localhost/Account/Process,type: 'POST',data: '@ViewBag.MyUser',success: function () { },error: function () { } }); 我发布的ActionMethod如下 public ActionResult Process(MembershipUser MyUser) { //Do somethihng with MyUser } 如果我传递了ajax post,我在BeginExecuteCore(AsyncCallback回调,对象状态)内部得到错误,声明’没有为此对象定义无参数构造函数.’和控制甚至没有到我的行动方法. 如果我从Action Method中删除参数(MembershipUser MyUser),它会发布到Action方法,但随后 >在这种情况下,如果没有参数从该视图到控制器,我怎么能传递’MyUser’? 解决方法
问题是你无法从JQuery传递MyUser作为参数,因为JQuery不知道类MembershipUser.请记住,JQuery是客户端语言,MembershipUser是在服务器端的C#中定义的.
您可以使用GET将所需的属性从MyUser对象传递给Process操作,如下所示(假设MyUser对象具有,ID为Name): $('#Link').click(function () { $.ajax({ url: http://localhost/Account/Process,type: 'GET',data: { id: "@ViewBag.MyUser.ID",name: "@ViewBag.MyUser.Name" },success: function () { },error: function () { } }); 动作应该是这样的: public ActionResult Process(int id,string name) { //Do something } 我希望它对你有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 作为构建后事件的aspnet_compiler在空MVC
- asp.net-mvc – 什么是适当的时间为ViewData,ViewBag,会话,
- asp.net-mvc – ASP.NET MVC向最终用户显示操作成功
- asp.net-web-api – 如何在Azure Service Fabric中的自托管
- 在Textbox asp.net上使用JQuery DatePicker
- asp.net-mvc – 无法在MVC 2 RC区域中设置默认控制器
- asp.net-mvc – 如何让MVC POST返回上一页?
- asp.net – IsAuthenticated适用于浏览器 – 但不适用于Air
- 实体框架4 – ASP.NET MVC 3应用程序使用Ninject,实体框架4
- asp.net-mvc – 如何使用EF Code First解释为枚举类型
- 如何让OleDb在asp.net核心项目中阅读excel
- asp.net-mvc – 将模型信息传递给RenderPartial
- asp.net-mvc-3 – Appharbor URL中的端口号导致页
- 寻找ASP.NET(MVC 3)论坛引擎
- asp.net-mvc – 安全地从MVC5项目中删除所有OWIN
- asp.net-mvc – 模型在MVC中的作用是什么?
- asp.net-mvc – OnValidateIdentity会话为空 –
- asp.net-mvc-3 – 具有MVC属性的IoC / DI
- 问题在ASP.NET中使用System.Web.Caching.Cache类
- asp.net-mvc-5 – 在MVC 5期货中找不到Html.Seri