Javascript MVC-PartialView不';无法在视图中找到事件

Javascript MVC-PartialView不';无法在视图中找到事件,javascript,asp.net-mvc,events,model-view-controller,telerik,Javascript,Asp.net Mvc,Events,Model View Controller,Telerik,我有一个窗口,它的内容是通过局部视图加载的。由于将jscript代码放入部分视图只会导致问题,因此我尝试将其放入包含窗口的视图中 调试此页面时,在DropDownList事件上加载视图时,我立即收到一个未定义的错误,而其他事件都不起作用。我花了最后几个小时寻找解决方案,但什么也找不到 视图: 这不是完整的代码,但是把所有这些放在这里会有点过分 所以。。简单问题:为什么偏视图在包含它的视图中找不到事件?我怎样才能优雅地解决这个问题 提前谢谢,伙计们。:) [更新1] 因此,在将脚本引用从部分视图中

我有一个窗口,它的内容是通过局部视图加载的。由于将jscript代码放入部分视图只会导致问题,因此我尝试将其放入包含窗口的视图中

调试此页面时,在DropDownList事件上加载视图时,我立即收到一个未定义的错误,而其他事件都不起作用。我花了最后几个小时寻找解决方案,但什么也找不到

视图:

这不是完整的代码,但是把所有这些放在这里会有点过分

所以。。简单问题:为什么偏视图在包含它的视图中找不到事件?我怎样才能优雅地解决这个问题

提前谢谢,伙计们。:)

[更新1] 因此,在将脚本引用从部分视图中移除之后,无论如何,这是我必须要做的事情。当页面尝试启动一个剑道/电传控制时,我得到一个“jQuery未定义”错误。。哎呀

jQuery(function(){jQuery("#UserGroupId").kendoDropDownList({"dataSource":[{"Text":"0023 10 - VZ_RSA","Value":"1"}],"dataTextField":"Text","popup":{"appendTo":"#fs1"},"dataValueField":"Value","optionLabel":"Bitte auswählen... "});});
我再次开始研究,试图将@section脚本放入视图中,并插入所有脚本。不幸的是,它没有做任何事情,是的,我的_布局中有渲染部分。我真的不知道发生了什么事。顺便说一句,Fiddler也没有显示任何错误

布局:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    @*<link rel="stylesheet" href="http://kendo.cdn.telerik.com/<kendo ui version>/styles/kendo.common-bootstrap.min.css" />
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/<kendo ui version>/styles/kendo.bootstrap.min.css" />*@
    <title>@ViewBag.Title - Meine ASP.NET-Anwendung</title>
    @Scripts.Render("~/bundles/modernizr")
    @Styles.Render("~/Content/kendo/css")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/bootstrap")
    @Scripts.Render("~/bundles/kendo")
    @Scripts.Render("~/bundles/jqueryeasing")
</head>
<body>
    <div id="wrapper">
        <header>
            <div id="logo"></div>
            <div id="logoHead">CrmImport</div>
            <div id="links">
                <a href="#">Über uns</a>
                <a href="#">Hilfe</a>
                <a href="#">Kontakt</a>
            </div>
        </header>
        <div id="breadCrumpContainer">
            <div id="breadCrump">@ViewContext.RouteData.Values["controller"]</div>
        </div>
        <nav>
            <ul id="menu">
                @* Linkname, Action, Controller *@
                <li>@Html.ActionLink("Home", MVC.Home.Index()) </li>
                <li>
                    @Html.ActionLink("Meine Profile", MVC.Profile.Index())
                </li>
                <li>
                    @Html.ActionLink("Meine Jobs", MVC.Profile.Index())
                </li>
                <li>
                    <a href="#">Administration</a>
                    <ul>
                        <li>@Html.ActionLink("Usergruppen verwalten", "Index", "UserGroups")</li>
                        <li>@Html.ActionLink("Log", "Index", "Log")</li>
                        <li>@Html.ActionLink("Globale Profile", "Index", "GlobalProfiles")</li>
                        <li>@Html.ActionLink("News verwalten", "Index", "News")</li>
                    </ul>
                </li>
                <content>
                    <div id="userBox">
                        @Html.Action("_User", "User")
                    </div>
                </content>
            </ul>
        </nav>
    </div>
    <div id="content">
        @RenderBody()
    </div>
    <div id="push"></div>
    <footer>Copyright © DAK-Gesundheit 2015</footer>
    @RenderSection("scripts", required: false)
</body>
</html>
<link href="~/Styles/Main.css" rel="stylesheet" />

@*
*@
@ViewBag.Title-Meine ASP.NET-Anwendung
@Scripts.Render(“~/bundles/modernizer”)
@style.Render(“~/Content/kendo/css”)
@Scripts.Render(“~/bundles/jquery”)
@Scripts.Render(“~/bundles/jqueryval”)
@Scripts.Render(“~/bundles/bootstrap”)
@Scripts.Render(“~/bundles/kendo”)
@Scripts.Render(“~/bundles/jqueryasing”)
CrmiImport
@ViewContext.RouteData.Values[“controller”]
    @*链接名称、操作、控制器*@
  • @ActionLink(“Home”,MVC.Home.Index())
  • @ActionLink(“Meine Profile”,MVC.Profile.Index())
  • @ActionLink(“Meine作业”,MVC.Profile.Index())
    • @ActionLink(“Usergruppen-verwalten”、“Index”、“UserGroups”)
    • @ActionLink(“日志”、“索引”、“日志”)
    • @ActionLink(“Globale配置文件”、“索引”、“GlobalProfiles”)
    • @ActionLink(“新闻verwalten”、“索引”、“新闻”)
  • @动作(“\u User”,“User”)
@RenderBody() 版权所有©DAK Gesundheit 2015 @RenderSection(“脚本”,必需:false)
最后,问题是剑道窗口,或者更确切地说是加载ist内容的时间,这是生成父视图的时刻

为了解决这个问题,我必须在单击特定按钮进行编辑和创建时加载windows内容

您可以忽略整个href部分。它是用来调试的

function createProfile() {
        var window = $("#createProfileWindow").data("kendoWindow");

        //Dynamisches Vorgehen nicht möglich. Daher muss die URL untersucht werden
        //Hinweis: Für Produktiv/Test ist diese Funktion wahrscheinlich nicht notwendig, da Index nie "direkt" aufgerufen wird
        var url = 'Profile/Add';
        if ($(location).attr('href').indexOf("Index") >= 0) {
            url = '@MVC.Profile.ActionNames.Add';
        }

        $("#createProfileWindow").kendoWindow({
            content: {
                url: url
            }
        });
        window.open();
        window.center();

        profileId = null;
    }

最后的问题是Kendo.Window,或者更确切地说是加载ist内容的时间,即构建父视图的时刻

为了解决这个问题,我必须在单击特定按钮进行编辑和创建时加载windows内容

您可以忽略整个href部分。它是用来调试的

function createProfile() {
        var window = $("#createProfileWindow").data("kendoWindow");

        //Dynamisches Vorgehen nicht möglich. Daher muss die URL untersucht werden
        //Hinweis: Für Produktiv/Test ist diese Funktion wahrscheinlich nicht notwendig, da Index nie "direkt" aufgerufen wird
        var url = 'Profile/Add';
        if ($(location).attr('href').indexOf("Index") >= 0) {
            url = '@MVC.Profile.ActionNames.Add';
        }

        $("#createProfileWindow").kendoWindow({
            content: {
                url: url
            }
        });
        window.open();
        window.center();

        profileId = null;
    }

老实说,如果你不经常重新加载那部分,只需将javascript放在部分中即可。partialview基本上是一种表单,只要我在部分视图中有脚本,提交就会发生两次,因为我必须在布局和部分视图中引用jquery,它才能工作。。。我真的开始讨厌MVC了。在父视图中,将代码放在section scripts标记中,但不要将代码放在partial中。老实说,如果您不经常重新加载该partial,只需将javascript放在部分视图中。部分视图基本上是一个表单,只要我在部分视图中有脚本,提交就会发生两次,因为我必须在布局和部分视图中引用jquery,它才能工作。。。我真的开始讨厌MVC了。在父视图中,将代码放在section scripts标签中,而不是将代码放在partial标签中。
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    @*<link rel="stylesheet" href="http://kendo.cdn.telerik.com/<kendo ui version>/styles/kendo.common-bootstrap.min.css" />
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/<kendo ui version>/styles/kendo.bootstrap.min.css" />*@
    <title>@ViewBag.Title - Meine ASP.NET-Anwendung</title>
    @Scripts.Render("~/bundles/modernizr")
    @Styles.Render("~/Content/kendo/css")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/bootstrap")
    @Scripts.Render("~/bundles/kendo")
    @Scripts.Render("~/bundles/jqueryeasing")
</head>
<body>
    <div id="wrapper">
        <header>
            <div id="logo"></div>
            <div id="logoHead">CrmImport</div>
            <div id="links">
                <a href="#">Über uns</a>
                <a href="#">Hilfe</a>
                <a href="#">Kontakt</a>
            </div>
        </header>
        <div id="breadCrumpContainer">
            <div id="breadCrump">@ViewContext.RouteData.Values["controller"]</div>
        </div>
        <nav>
            <ul id="menu">
                @* Linkname, Action, Controller *@
                <li>@Html.ActionLink("Home", MVC.Home.Index()) </li>
                <li>
                    @Html.ActionLink("Meine Profile", MVC.Profile.Index())
                </li>
                <li>
                    @Html.ActionLink("Meine Jobs", MVC.Profile.Index())
                </li>
                <li>
                    <a href="#">Administration</a>
                    <ul>
                        <li>@Html.ActionLink("Usergruppen verwalten", "Index", "UserGroups")</li>
                        <li>@Html.ActionLink("Log", "Index", "Log")</li>
                        <li>@Html.ActionLink("Globale Profile", "Index", "GlobalProfiles")</li>
                        <li>@Html.ActionLink("News verwalten", "Index", "News")</li>
                    </ul>
                </li>
                <content>
                    <div id="userBox">
                        @Html.Action("_User", "User")
                    </div>
                </content>
            </ul>
        </nav>
    </div>
    <div id="content">
        @RenderBody()
    </div>
    <div id="push"></div>
    <footer>Copyright © DAK-Gesundheit 2015</footer>
    @RenderSection("scripts", required: false)
</body>
</html>
<link href="~/Styles/Main.css" rel="stylesheet" />
function createProfile() {
        var window = $("#createProfileWindow").data("kendoWindow");

        //Dynamisches Vorgehen nicht möglich. Daher muss die URL untersucht werden
        //Hinweis: Für Produktiv/Test ist diese Funktion wahrscheinlich nicht notwendig, da Index nie "direkt" aufgerufen wird
        var url = 'Profile/Add';
        if ($(location).attr('href').indexOf("Index") >= 0) {
            url = '@MVC.Profile.ActionNames.Add';
        }

        $("#createProfileWindow").kendoWindow({
            content: {
                url: url
            }
        });
        window.open();
        window.center();

        profileId = null;
    }