C# 如何从控制器JsonResult操作方法重新加载页面
正在寻找从JsonResult操作方法重新加载/刷新视图页面的方法。 我需要从其他状态重新加载它。 下面的一个不起作用,我的意思是它不能刷新StudentsData视图。 下面的上传方法是一个GoogleDriveupload方法,用于上传和显示上传的文件C# 如何从控制器JsonResult操作方法重新加载页面,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,正在寻找从JsonResult操作方法重新加载/刷新视图页面的方法。 我需要从其他状态重新加载它。 下面的一个不起作用,我的意思是它不能刷新StudentsData视图。 下面的上传方法是一个GoogleDriveupload方法,用于上传和显示上传的文件 [HttpPost] 公共JsonResult上载(字符串folderName,字符串contextType=null) { var currentAuth=Context.UserContextCache; var resultList=新
[HttpPost]
公共JsonResult上载(字符串folderName,字符串contextType=null)
{
var currentAuth=Context.UserContextCache;
var resultList=新列表();
var CurrentContext=HttpContext;
上载和显示结果(CurrentContext、resultList、folderName);
JsonFiles=newjsonfiles(resultList);
如果(!resultList.Any())
{
返回Json(“错误”);
}
其他的
{
currentAuth.UserProfile.IITransferIntakerRequestMake=false;
Context.UserContextCache=currentAuth;
GetService().Save(Context.UserContextCache.UserProfile);
//应该在这里
重定向至行动(“学生数据”、“文件”);
返回Json(文件);
}
}
在MVC中将部分视图作为JSON返回
现在,您可以从控制器调用这个类,方法是在控制器文件中添加名称空间,如下所示,将“this”作为参数传递给控制器
string result = RenderRazorViewToString(this, "ViewName", model);
希望这有帮助……此操作是否通过ajax调用?是否希望视图重定向到另一个视图,然后在重定向的视图上使用json?
public static class RazorViewToString
{
public static string RenderRazorViewToString(Controller controller, string viewName, object model)
{
controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
}
string result = RenderRazorViewToString(this, "ViewName", model);