C# Net核心应用程序中的重定向
我正在尝试对.Net内核进行一些操作,完成此操作后,我想将其重定向到.cshtml页面。在主页中我有一个表格,在表格中选择一行后,我用ajax发送单元格的值 AJAX 在这部分之后,我要去这个地区 作用 我的操作完成后,我找到了我的用户。我想做的就是用cshtml打印这些用户信息。但是我不能把自己送到页面上去。我怎样才能改变方向?谢谢 指数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
您不能在后端从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});
}