C# Net核心应用程序中的重定向

C# Net核心应用程序中的重定向,c#,ajax,asp.net-core,response.redirect,C#,Ajax,Asp.net Core,Response.redirect,我正在尝试对.Net内核进行一些操作,完成此操作后,我想将其重定向到.cshtml页面。在主页中我有一个表格,在表格中选择一行后,我用ajax发送单元格的值 AJAX 在这部分之后,我要去这个地区 作用 我的操作完成后,我找到了我的用户。我想做的就是用cshtml打印这些用户信息。但是我不能把自己送到页面上去。我怎样才能改变方向?谢谢 指数 您不能在后端从Ajax调用重定向。使用AJAX的 success: function(){ windows.location.hre

我正在尝试对.Net内核进行一些操作,完成此操作后,我想将其重定向到.cshtml页面。在主页中我有一个表格,在表格中选择一行后,我用ajax发送单元格的值

AJAX 在这部分之后,我要去这个地区

作用 我的操作完成后,我找到了我的用户。我想做的就是用cshtml打印这些用户信息。但是我不能把自己送到页面上去。我怎样才能改变方向?谢谢

指数
您不能在后端从Ajax调用重定向。使用AJAX的

  success: function(){ 
        windows.location.href = '/ProfileScreen'; 
    }
如果您想传回数据,请从MVC操作返回JSON,您的JavaScript将是:

$('#table').find('tr').click(function () {         
        var userName = $(this).find('td').text();
        $.ajax({
            url: "/Profile/printUser",
            type: 'POST',
            data: { "DisplayName": userName },
            success: function(data){
              window.location.href = '/ProfileScreen' + data.ID; //or whatever
            }
        });        
    });
解决方案

作用
非常感谢,我怀疑ajax的成功功能。它解决了我的重定向问题,但我无法使用success(数据)通过findUser。我的代码中有些地方不正确。我是否应该使用return RedirectToAction(“ProfileScreen”,findUser)?感谢您的帮助您必须从MVC操作返回JSON。试试这个:
返回Ok(新的{ID:findUser.ID})我应该使用JsonResult吗?@Berkin JsonResult在以前的MVC中工作过。不确定它是否还在.NETCore中。你可以试试。是的,我可以用这个
 public IActionResult ProfileScreen()
    {          
        return View();
    }
  success: function(){ 
        windows.location.href = '/ProfileScreen'; 
    }
$('#table').find('tr').click(function () {         
        var userName = $(this).find('td').text();
        $.ajax({
            url: "/Profile/printUser",
            type: 'POST',
            data: { "DisplayName": userName },
            success: function(data){
              window.location.href = '/ProfileScreen' + data.ID; //or whatever
            }
        });        
    });
[HttpPost]
        public JsonResult printUser(User user)
        {
            user.DisplayName = user.DisplayName.Replace("\n", String.Empty);
            user.DisplayName = user.DisplayName.Trim(' ');
           
            User findUser = UserAdapter.GetUserByUserName(user.DisplayName);

            return Json(new { displayName = findUser.DisplayName});
        }