【问题标题】:How to use JavaScript in my controller in asp.net MVC如何在 asp.net MVC 的控制器中使用 JavaScript
【发布时间】:2018-05-26 06:34:59
【问题描述】:

我有一个登录页面,想在用户登录成功时显示警报。但是当我使用 JavaScript 时它不起作用。事实上,一切正常,只是这个 JavaScript 不起作用。

    [HttpGet]
    public ActionResult LogIn()
    {
        return View();
    }

    [HttpPost]
    public ActionResult LogIn(tblUser user)
    {
        if (ModelState.IsValid)
        {
            var logData = UserBLL.LogInCheck(user);
            if (logData != null)
            {
                JavaScript("alert(Wellcome Dear Admin)");
                Session["user"] = "Admin";
                return RedirectToAction("Index", "Home");
            }
        }

        return View();
    }

我不知道该怎么办!!!

【问题讨论】:

    标签: javascript asp.net asp.net-mvc controller


    【解决方案1】:

    您可以通过 javascript 重定向用户。所以只返回 Javascriptresult。

    见下面的代码:-

            [HttpPost]
            public ActionResult LogIn(tblUser user)
            {
                if (ModelState.IsValid)
                {
                    var logData = UserBLL.LogInCheck(user);
                    if (logData != null)
                    {
                        Session["user"] = "Admin";
                        return JavaScript("alert(Wellcome Dear Admin); window.location.href = '" + Url.Action("Index", "Home") + "';");
                    }
                }
    
                return View();
            }
    

    【讨论】:

    • 没有用。结果是一个只有这个文本警报的页面(Wellcome Dear Admin); window.location.href = '/';
    • @Heydar,您如何从视图中调用登录帖子操作?
    • 我的问题是 asp.net mvc 中有一个方法是 JavaScript,它是从 JavaScriptResult 类派生的,我不知道如何在代码中使用它来发布警报。
    【解决方案2】:

    试试这个:

    [HttpPost]
            public ActionResult LogIn(tblUser user)
            {
                if (ModelState.IsValid)
                {
                    var logData = UserBLL.LogInCheck(user);
                    if (logData != null)
                    {
                        Session["user"] = "Admin";
                        TempData["LoginSuccess"] = "1";
                    }
                }
    
                return View();
            }
    

    在cshtml中:

    @if (TempData["LoginSuccess"] != null)
    {
        <script type="text/javascript">
            alert("Welcome Dear Admin!");
            window.location.href = '@Url.Action("Index", "Home")';
        </script>
    }
    

    【讨论】:

    • 我想像之前一样在代码中使用 JavaScript 添加任何会话,如果您看到我的代码,返回代码会将我重定向到当前操作之外。 micorsoft 给 mvc 一个“JavaScript”方法,它来自 JavaScriptResult 类,可以像我在代码中那样直接调用。但是不知道怎么用!!!
    • 不确定您的意思,但您尝试过我提供的可能修复方法吗?
    • 不,我的兄弟,您似乎没有理解我的问题,asp.net mvc中有一个方法是JavaScript,它是从JavaScriptResult类派生的,我不知道如何发布通过在代码中使用它来发出警报。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2014-07-11
    • 2019-09-27
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多