【问题标题】:call javascript function when the view is loaded in mvc在 mvc 中加载视图时调用 javascript 函数
【发布时间】:2014-10-03 08:15:23
【问题描述】:

我正在尝试在我的视图中调用js function

@model DomainClass.Group

@{
    ViewBag.Title = "Edit";
    Layout = "~/Views/Shared/_Layout.cshtml";
    <script language="javascript" type="text/javascript">
        document.read = function myFunction() {
            if (ViewBag.State == "error") {
                if (confirm("معیار مورد نظر دارای زیر مجموعه های مرتبط است. آیا تمایل به ویرایش دارید ؟")) { } else {
                    history.back();
                }
            }

        }
    </script>

}

    }
    @using (Html.BeginForm())
    {
       //my code 
    }

    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
    }

如您所见,我的函数名称是myfunction,它取决于viewbag 的值,但绝不会被浏览器调用!!!

我应该在视图中添加额外的代码吗?

任何想法都会受到赞赏。

最好的问候

【问题讨论】:

  • @E A 当然你只需要一个$(document).ready(function() {} 来调用你的函数

标签: javascript c# asp.net-mvc razor


【解决方案1】:

您的脚本永远不会被执行,因为它不会被呈现到页面上。所以我把它从服务器标签中移到了 HTML 标记中。只填写您需要的参数。但是你有第二个问题。您将函数签名到窗口上的变量。无论右侧的函数名称如何,它都将被命名为左侧的函数。事实上,右边不应该有一个名字。那么第三个也是最后一个问题是,您不能在任何地方调用该函数。因为我看到你包含了 jquery validate,所以我假设你也包含了 jQuery 并利用了他们的文档准备功能。

我已经包含了你的函数的更新。还有一些优化空间,但没有包括它们以明确您的错误在哪里。

@model DomainClass.Group
@{
    ViewBag.Title = "Edit";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<script language="javascript" type="text/javascript">
    //use window instead of document
    window.myFunction = function () {
        //Try setting the boolean this way
        var x = @(ViewBag.State == "error" ? "true" : "false");
        if (confirm("معیار مورد نظر دارای زیر مجموعه های مرتبط است. آیا تمایل به ویرایش دارید ؟")) {

        }
        else {
            history.back();
        }
    }

    $(function () {
        window.myFunction();
    });
</script>
@using (Html.BeginForm())
{
    //my code
}
@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

【讨论】:

  • 它不起作用,我需要在页面加载时调用我的函数。
猜你喜欢
  • 2014-12-31
  • 2015-07-12
  • 2014-08-10
  • 1970-01-01
  • 2021-07-23
  • 2013-05-30
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
相关资源
最近更新 更多