对于SpringMVC控制器返回HTML感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍springmvc返回页面,并为您提供关于ajax–返回JSON或部分html的ASP.NETMVC控制器
对于Spring MVC控制器返回HTML感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍spring mvc返回页面,并为您提供关于ajax – 返回JSON或部分html的ASP.NET MVC控制器操作、asp.net – 从MVC控制器返回不同的视图、asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目、asp.net-mvc – 从asp.net mvc控制器返回一个js文件的有用信息。
本文目录一览:- Spring MVC控制器返回HTML(spring mvc返回页面)
- ajax – 返回JSON或部分html的ASP.NET MVC控制器操作
- asp.net – 从MVC控制器返回不同的视图
- asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目
- asp.net-mvc – 从asp.net mvc控制器返回一个js文件
Spring MVC控制器返回HTML(spring mvc返回页面)
我在尝试将HTML返回到Spring MVC控制器时遇到问题。
看起来像这样:
@RequestMapping(value = QUESTION_GROUP_CREATE_URL, method = RequestMethod.POST)public@ResponseBodyString createQuestionGroup(@RequestBody JsonQuestionGroup questionGroup, HttpServletResponse response) { // questionGroup - this comes OK. response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); return "<div></div>";}
我的Spring配置:
<bean id="contentNegotiationManager"> <property name="favorPathExtension" value="false"/> <property name="favorParameter" value="true"/> <property name="mediaTypes"> <value> json=application/json xml=application/xml html=application/html </value> </property></bean>
我看到萤火虫的响应即将来临:{"String":"<div></div>"}
我如何告诉该方法向我发送纯HTML作为响应?
答案1
小编典典像这样更改您的Spring配置:html=text/html
并添加produces =MediaType.TEXT_HTML_VALUE
到您的@RequestMapping
注释中。
ajax – 返回JSON或部分html的ASP.NET MVC控制器操作
public ActionResult SomeActionMethod() { return Json(new {foo="bar",baz="Blech"}); }
然后只需使用Ajax调用action方法。您可以使用ViewPage中的辅助方法之一,如
<%= Ajax.ActionLink("SomeActionMethod",new AjaxOptions {OnSuccess="somemethod"}) %>
SomeMethod将是一个javascript方法,然后评估返回的Json对象。
如果你想返回一个纯字符串,你可以只使用ContentResult:
public ActionResult SomeActionMethod() { return Content("Hello World!"); }
ContentResult默认返回一个text / plain作为它的contentType。
这是可重载的,所以你也可以做:
return Content("<xml>This is poorly formatted xml.</xml>","text/xml");
asp.net – 从MVC控制器返回不同的视图
@using (Html.BeginForm("Track","Tracking",FormMethod.Post)) { <div> <textarea cols="20" id="txtNo" name="txtOrderNo" rows="2" ></textarea> </div> <div> <input type="radio" name="optOrderNo" checked="checked" value="tracking" />Order No <input type="radio" name="optRefNo" value="tracking" />Ref No </div> <div> <input type="submit" value="Track" /> </div> }
所以它将转到TrackingController和Track Method并返回视图.它适用于单个搜索,因为View与控制器的方法相关联.它工作正常但我怎么能有条件地返回基于单选按钮选择的其他视图.
我想出的就是这个
[HttpPost] public ActionResult Track(FormCollection form) { string refNo = null; if (form["optRefNo"] == null) { string OrderNo = form["txtOrderNo"]; var manager = new TrackingManager(); var a = manager.ConsignmentTracking(OrderNo); var model = new TrackingModel(); if (OrderNo != null) model.SetModelForConsNo(a,consNo); return View(model); } refNo = form["txtConsNo"]; return TrackByRef(refNo); } public ActionResult TrackByRef(string refNo) { //what ever i want to do with reference no return View(); }
请指导.
谢谢
解决方法
public ActionResult TrackByRef(string refNo) { //what ever i want to do with reference no return View("Track"); // or,if you want to supply a model to Track: // return View("Track",myModel); }
asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目
参数字典包含非可空类型’system.int32’的参数’appId’的空条目,用于’HLIT_TicketingMVC.Controllers.TicketController’中的方法’System.Web.Mvc.ContentResult CheckForInstaller(Int32)’.可选参数必须是引用类型,可空类型,或者声明为可选参数.
function SubmitAjax(url,message,successFunc,errorFunc) {
$.ajax({
type:'POST',url:url,data:message,contentType: 'application/json; charset=utf-8',dataType: 'json',success:successFunc,error:errorFunc
});
};
数据对象构建如下:
var message={"appId":application.val()};
我也尝试了一个jsonified字符串:
var message="{'appId':"+application.val()+"}";
和
var message="{'appId':'"+application.val()+"'}";
我在尝试发布之前验证了消息是否带有正确的int值.鼠标在调试器上最近显示:{appId =“6”}
控制器上的方法签名是:
public ContentResult CheckForInstaller(int appId)
当我从方法签名中删除参数时,它确实触及了内部的断点,所以它是需要某种属性的签名,或者我认为消息没有正确构建.
contentType: 'application/json; charset=utf-8',
MVC不会将JSON解析为int.您需要application / x-www-form-urlencoded的默认值.
asp.net-mvc – 从asp.net mvc控制器返回一个js文件
我想为我的应用程序中的每个MVC设置一个单独的js文件
/Controllers/ -TestController.cs /Models/ /Views/ /Test/ -Index.aspx -script.js
而且我想将js包含在Index.aspx中
<script type="text/javascript" src="<%=UriHelper.GetBaseUrl()%>/Test/Js"></script>
或者更简单一点,当我在浏览器中调用http://localhost/Test/Js时,它会显示script.js文件
如何在Controller中编写Action?我知道这必须用返回File方法完成,但我还没有成功创建方法:(
解决方法
public FileContentResult Js() { return File(System.IO.File.ReadAllBytes(Server.MapPath("/Test/script.js")),"text/javascript"); }
我将补充说你真的应该把你的脚本放在你的Content文件夹下,因为MVC完全是关于上面的约定配置,并试图用你的视图放置脚本你违反惯例.
今天关于Spring MVC控制器返回HTML和spring mvc返回页面的分享就到这里,希望大家有所收获,若想了解更多关于ajax – 返回JSON或部分html的ASP.NET MVC控制器操作、asp.net – 从MVC控制器返回不同的视图、asp.net-mvc – $.ajax发布到MVC控制器返回内部服务器错误:参数字典包含空条目、asp.net-mvc – 从asp.net mvc控制器返回一个js文件等相关知识,可以在本站进行查询。
本文标签: