Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从控制器JsonResult操作方法重新加载页面_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何从控制器JsonResult操作方法重新加载页面

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=新

正在寻找从JsonResult操作方法重新加载/刷新视图页面的方法。 我需要从其他状态重新加载它。 下面的一个不起作用,我的意思是它不能刷新StudentsData视图。 下面的上传方法是一个GoogleDriveupload方法,用于上传和显示上传的文件

[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);