Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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
Javascript location.href不在asp mvc上工作_Javascript_Asp.net_Asp.net Mvc - Fatal编程技术网

Javascript location.href不在asp mvc上工作

Javascript location.href不在asp mvc上工作,javascript,asp.net,asp.net-mvc,Javascript,Asp.net,Asp.net Mvc,我有这个密码 $("#Login").click(function() { var dataObject = { UserName: $("#UserName").val(), Password: $("#Password").val() }; $.ajax({ url: '@Url.Action("Login","User")', type: &

我有这个密码

$("#Login").click(function()
 {
    var dataObject = { UserName: $("#UserName").val(), Password: $("#Password").val() };
    $.ajax({
        url: '@Url.Action("Login","User")',
        type: "POST",
        data: dataObject,
        datatype: "json",
        success: function (result) {
            if (result.toString() == "success") {
                alert(result);
                window.location.href = "~/Views/User/Home.cshtml";

            }
            else {
                alert(result);
                
            }
        },
        error : function(result)
        {
            alert("ERRORR")
        }
    });
})
我正在尝试重定向到主页。。。成功警报后。。。但它不起作用。我得到:

“/”应用程序中出现服务器错误

不提供这种类型的页面

描述:您请求的页面类型未被提供,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的URL,并确保其拼写正确

有什么想法吗

这是我的用户控制器:

public class UserController : Controller
    {
        UserBusinessLogic UserBL = new UserBusinessLogic();
        //
        // GET: /User/
        public ActionResult Login()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Login(User User)
        {
            string message = "";
            if(ModelState.IsValid)
            {
                if(UserBL.CheckUserLogin(User) > 0)
                {
                    message="success";
                    
                }
                else
                {
                    message="Username or password not correct";
                }
            }
            else
            {
                message = "All Field Required";
            }
            if (Request.IsAjaxRequest())
            {
                return Json(message,JsonRequestBehavior.AllowGet);
            }
            else
            {
                return RedirectToAction("Index","Home");
            }
        }
    }

由于安全原因,默认情况下Web服务器不会为*.cshtml提供服务

我想你想重定向到主页。如果是这样,应该是这样的-

window.location.href = '@Url.Content("~")'; 


您正在尝试重定向到cshtml视图。您需要重定向到控制器中的操作-大概是/User/Home

我认为您误解了MVC模式

“我想在成功警报消息后重定向到它。我不知道 在任何控制器中都有。我只想做一个简单的重定向。”

但这不是标准。通常,您甚至会为最简单的请求创建一个控制器,即使它看起来像

public class UserController : Controller
{
    public ActionResult Home()
    {
        return View();
    }
}
然后指向控制器的动作

window.location.href = "/User/Home";

这是我创建的一个视图。。。我想在成功警报消息后重定向到它。我在任何控制器中都没有。我只想在UserController中创建一个简单的redirectIs Home操作方法?如果没有,它位于哪里?在尝试使代码正常工作之前,您应该能够在浏览器中浏览URL。例如,
http://localhost:xxx/user/home
请检查我在问题中添加了UserController的代码,看是否有什么好的地方,或者我应该添加一些东西以便重定向到它。@BoularbahHamza您正在制作Ajax Post to action方法,该方法重定向到另一个action方法。首先,你为什么想要Ajax帖子?我是个初学者,我不知道用asp mvc写帖子的其他方法。。如果有办法的话。help我如何在控制器中重定向?@BoularbahHamza,方法是将href更改为我提到的/User/Home或使用Url.Action helper。
public class UserController : Controller
{
    public ActionResult Home()
    {
        return View();
    }
}
window.location.href = "/User/Home";