MVC JsonResult的使用
首先看一下我在控制器Controller中的代码
public JsonResult SearchUnitByID(string ID) { Flow_StateUnitDefine unit = new Flow_StateUnitDefine(); unit = FlowAccessor.GetUnitByID(ID); return this.Json(unit); }
前端JS请求和返回的代码
function OrgFocusedRowChanged(s, e) { var ID = s.GetRowKey(s.GetFocusedRowIndex()); if (ID != null) { $.post("../Flow/SearchUnitByID?MenuID=" + getQueryStringRegExp('MenuID'), { ID: s.GetRowKey(s.GetFocusedRowIndex()) }, function (data) { txtState.SetValue(data.StateName); txtUnit.SetValue(data.UnitName); if (data.DataShowMeta == "null") { memoData.SetValue(""); } else { memoData.SetValue(data.DataShowMeta); } txtID.SetValue(data.ID); if (data.Type == "1") { cboType.SetSelectedIndex(0); } else if (data.Type == "2") { cboType.SetSelectedIndex(1); } else { cboType.SetSelectedIndex(-1); } }); } else { txtState.SetValue(""); txtUnit.SetValue(""); memoData.SetValue(""); cboType.SetSelectedIndex(-1); } }
此时看一下前端Js中用的是Jquery中的post请求,那么在控制器中没什么特别的。
如果前端请求用的是get,那么控制器中要有相应的调整,代码如下:
public JsonResult SearchUnitByID(string ID) { Flow_StateUnitDefine unit = new Flow_StateUnitDefine(); unit = FlowAccessor.GetUnitByID(ID); return this.Json(unit, JsonRequestBehavior.AllowGet); }
可以看出在return时,this.Json多了一个参数,这就是要和前端是Get请求,还是Post请求相对应的。因为默认的情况下相当于Post请求,所以上面this.Json仅一个参数即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构