对于在ASP.NETMVC中对控制器进行简单的Ajax调用感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍asp.netmvc控制器,并为您提供关于Ajax在ASP.NETMVC中上传、ajax
对于在ASP.NET MVC中对控制器进行简单的Ajax调用感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍asp.net mvc 控制器,并为您提供关于Ajax在ASP.NET MVC中上传、ajax调用mvc控制器、ASP.NET MVC中的AJAX应用、asp.net-mvc – ASP.NET MVC Html.DropDownList由Ajax调用控制器填充?的有用信息。
本文目录一览:- 在ASP.NET MVC中对控制器进行简单的Ajax调用(asp.net mvc 控制器)
- Ajax在ASP.NET MVC中上传
- ajax调用mvc控制器
- ASP.NET MVC中的AJAX应用
- asp.net-mvc – ASP.NET MVC Html.DropDownList由Ajax调用控制器填充?
在ASP.NET MVC中对控制器进行简单的Ajax调用(asp.net mvc 控制器)
我正在尝试开始使用ASP.NET MVC Ajax调用。
控制器:
public class AjaxTestController : Controller{ // // GET: /AjaxTest/ public ActionResult Index() { return View(); } public ActionResult FirstAjax() { return Json("chamara", JsonRequestBehavior.AllowGet); } }
视图:
<head runat="server"> <title>FirstAjax</title> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var serviceURL = ''/AjaxTest/FirstAjax''; $.ajax({ type: "POST", url: serviceURL, data: param = "", contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc }); function successFunc(data, status) { alert(data); } function errorFunc() { alert(''error''); } }); </script></head>
我只需要使用返回数据的控制器方法来打印警报。上面的代码仅在我的视图上显示“ chamara”。警报未触发。
更新
我如下修改了控制器,它开始工作。我不清楚为什么它现在可以正常工作。请有人解释。参数“
a”与之无关,我添加了它,因为我无法添加具有相同方法名和参数的两个方法。我认为这可能不是解决方案,但其工作原理
public class AjaxTestController : Controller { // // GET: /AjaxTest/ [HttpGet] public ActionResult FirstAjax() { return View(); } [HttpPost] public ActionResult FirstAjax(string a) { return Json("chamara", JsonRequestBehavior.AllowGet); } }
答案1
小编典典完成更新后,
- 它首先使用默认的HttpGet请求调用FirstAjax操作,并呈现空白的Html视图。(之前您没有)
- 稍后在加载该视图的DOM元素时,您的Ajax调用会被触发并显示警报。
之前,您只是将JSON返回浏览器,而不呈现任何HTML。现在,它呈现了一个HTML视图,可以在其中获取JSON数据。
您不能直接将JSON的纯数据而不是HTML呈现。
Ajax在ASP.NET MVC中上传
HomeController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace ajaxUpload.Controllers { public class HomeController : Controller { [HttpPost] public JsonResult Upload() { var uploadedFile = Request.Files[0] as HttpPostedFileBase; return Json(uploadedFile.FileName); } public ActionResult Index() { return View(); } } }
Index.cshtml@
ViewBag.Title = "Home Page"
}
<div class="jumbotron"> <h1>Ajax在ASP.NET MVC中上传</h1> </div> <div class="row"> <div id="main"> <h1>上传您的图片</h1> <form id="uploadfrm" method="post" enctype="multipart/form-data" action="/home/upload"> <input type="file" name="images" id="images" /> </form> <div id="response"></div> <ul id="image-list"></ul> </div> <button onclick="Upload();">上传</button> </div> <script> function Upload() { var form = document.getElementById(‘uploadfrm‘); var formData = new FormData(form); // 这里如何把form的数据上传
$.ajax({ url: "/home/upload",type: "POST",data: formData,processData: false,contentType: false,success: function (res) { document.getElementById("response").innerHTML = res; } }); } </script>
ajax调用mvc控制器
function btnLogin_click() {
$.ajax({
type: "post",
url:"/Home/LoginSystem",//控制器路径
data: "userAccount="+ $.trim($("#txtUserAccount").val()) + "&userPassWord="+ $.trim($("#txtUserPassWord").val()),//参数
cache: false,
success: function (msg) {
if (msg == '1') {
location.href ='/Home/Index';
}
else {
alert(msg);
}
}
});
}
ASP.NET MVC中的AJAX应用
一、ASP.NET MVC中的AJAX应用
首先,在ASP.NET MVC中使用自带的ajax功能,必须要导入2个js文件(顺序不能颠倒):
ASP.NET MVC提供了2个常用的ajax辅助方法.
Ajax.ActionLink
该辅助方法用于在页面上生成具有ajax功能的超链接.
在该辅助方法中有一个AjaxOptions类型的参数,它包括如下属性:
Confirm:在发送ajax请求前,弹出确认对话框,该属性就是设置对话框中的提示消息HttpMethod:用于设置请求的类型:Get|PostUpdateTargetId:用于设置服务器响应的结果更新到页面中目标元素IDInsertionMode:用于设置服务器相应的结果如何插入到被更新的元素中,它的值可以包括3种:
InsertionMode.Replace:用新值替换旧值(默认值)
InsertionMode.InsertAfter:将新值插入到目标元素的底部
InsertionMode.InsertBefore:将新值插入到目标元素的顶部
OnBegin:当执行ajax请求前,执行的js函数OnSuccess:当执行ajax请求成功时,执行的js函数OnFailure:当ajax请求失败时,执行的js函数OnComplate: 当ajax请求完成后,执行的js函数(不管请求失败或成功,都会执行)LoadingElementId:在ajax请求期间,可以显示一段友好的提示,该属性用于设置提示元素的IDLoadingElementDuration: 提示元素在显示和隐藏时,可以执行一段动画,该属性用于设置提示元素的动画执行时间
Ajax.BeginForm
该ajax辅助方法用于以ajax方式提交表单数据.
其他
如何在页面中加载分部视图?
方式一:调用Html.RenderPartial(“viewName”)
方式二:调用Html.RenderAction(“actionName”)
他们之间的区别如下图所示:
何时使用RenderAction,何时使用RenderPartial?
如果需要向视图中传递数据,而原视图中又没有需要传递的数据时,就需要调用RenderAction.
注意: Html.RenderPartial有多种重载形式,下面列举它的2种常用形式:
Html.RenderPartial(“分布视图的名称”)
Html.RenderPartial(“分部视图的名称”, object 模型数据)
如何从服务器获取一段json格式的字符串?
服务器的Action方法返回值类型为JsonResult,并且在方法内部可以调用Controller.Json()辅助方法.
- asp.net+ajax的Post请求实例
- asp.net+ajaxfileupload.js 实现文件异步上传代码分享
- asp.net使用AJAX实现无刷新分页
- ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息
- asp.net+ajax+sqlserver自动补全功能实现解析
- jquery.Ajax()方法调用Asp.Net后台的方法解析
- ASP.NET中使用Ajax的方法
- Ajax+asp.net智能匹配检索(含图含完整代码)
- ASP.NET中实现jQuery Validation-Engine的Ajax验证
- ASP.NET中Ajax怎么使用
asp.net-mvc – ASP.NET MVC Html.DropDownList由Ajax调用控制器填充?
例如:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TheFieldType>" %> <%= Html.DropDownList(.....
解决方法
<%= Html.DropDownListFor( x => x.PropertyToHoldSelectedValue,Enumerable.Empty<SelectListItem>(),"-- Loading Values --",new { id = "foo" }) %>
然后设置一个将返回值的控制器操作:
public class FooController: Controller { public ActionResult Index() { return Json(new[] { new { Id = 1,Value = "value 1" },new { Id = 2,Value = "value 2" },new { Id = 3,Value = "value 3" },},JsonRequestBehavior.AllowGet); } }
然后使用AJAX填充值:
$(function() { $.getJSON('/foo/index',function(result) { var ddl = $('#foo'); ddl.empty(); $(result).each(function() { $(document.createElement('option')) .attr('value',this.Id) .text(this.Value) .appendTo(ddl); }); }); });
今天关于在ASP.NET MVC中对控制器进行简单的Ajax调用和asp.net mvc 控制器的讲解已经结束,谢谢您的阅读,如果想了解更多关于Ajax在ASP.NET MVC中上传、ajax调用mvc控制器、ASP.NET MVC中的AJAX应用、asp.net-mvc – ASP.NET MVC Html.DropDownList由Ajax调用控制器填充?的相关知识,请在本站搜索。
本文标签: