在 MVC 的分部视图中加载 JQuery
Loading JQuery in Partial View on MVC
我有一个 ASP.NET MVC C# web 应用程序。
在我的布局文件中,我有以下 ajax 调用
<li class="PriceModal">
@Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator",
"PriceCalculator", new {@Pareto = "active" }, new AjaxOptions
{ UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET"}, new { @style = "padding-top:30px" })
</li>
单击此 Ajax link 时,将加载 bootstrap 模态框,并在 Bootstrap 模态框内加载局部视图。此时 Bootstrap 模式和内部的部分视图位于我现有页面的顶部。
当我在部分视图中放置 jQuery 代码时,我的问题就开始了。我找到了一种使用以下代码
将 jQuery 代码(部分)附加到 DOM 的方法
$('body').on('jQuery event to be placed here(focus,change,mouseenter)', 'class/ID to be Placed here', function (e) {
// jQuery events
});
这将允许我附加到我的页面在后台加载的 DOM。
但是,这也有很多问题。如何将名为 Chosen 的 jQuery 插件附加到位于我的部分视图内的下拉列表。
我已经尝试将 jQuery 放在 Ajax 选项中并使用 Onsuccess 属性 但这似乎也有问题。
<li class="PriceModal">
@Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator",
"PriceCalculator", new {@Pareto = "active" }, new AjaxOptions
{ UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET", OnSuccess = "$('.chosen2').chosen({ allow_single_deselect : true })"}, new { @style = "padding-top:30px" })
</li>
是否有一种通用方法可以在弹出部分视图中加载所有需要的 jQuery,或者我只需要为每种特定情况寻找技巧?
您可以只使用 document.ready
事件在您的 PartialView
完成加载时执行 JavaScript:
<div id="partialViewHere">
</div>
<script type="application/javascript">
$(function() {
// load whatever you need here
};
</script>
我在一个应用程序上使用它来向通过不同 PartialView
加载的按钮添加事件并且它工作得很好。
我有一个 ASP.NET MVC C# web 应用程序。
在我的布局文件中,我有以下 ajax 调用
<li class="PriceModal">
@Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator",
"PriceCalculator", new {@Pareto = "active" }, new AjaxOptions
{ UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET"}, new { @style = "padding-top:30px" })
</li>
单击此 Ajax link 时,将加载 bootstrap 模态框,并在 Bootstrap 模态框内加载局部视图。此时 Bootstrap 模式和内部的部分视图位于我现有页面的顶部。
当我在部分视图中放置 jQuery 代码时,我的问题就开始了。我找到了一种使用以下代码
将 jQuery 代码(部分)附加到 DOM 的方法 $('body').on('jQuery event to be placed here(focus,change,mouseenter)', 'class/ID to be Placed here', function (e) {
// jQuery events
});
这将允许我附加到我的页面在后台加载的 DOM。 但是,这也有很多问题。如何将名为 Chosen 的 jQuery 插件附加到位于我的部分视图内的下拉列表。
我已经尝试将 jQuery 放在 Ajax 选项中并使用 Onsuccess 属性 但这似乎也有问题。
<li class="PriceModal">
@Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator",
"PriceCalculator", new {@Pareto = "active" }, new AjaxOptions
{ UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET", OnSuccess = "$('.chosen2').chosen({ allow_single_deselect : true })"}, new { @style = "padding-top:30px" })
</li>
是否有一种通用方法可以在弹出部分视图中加载所有需要的 jQuery,或者我只需要为每种特定情况寻找技巧?
您可以只使用 document.ready
事件在您的 PartialView
完成加载时执行 JavaScript:
<div id="partialViewHere">
</div>
<script type="application/javascript">
$(function() {
// load whatever you need here
};
</script>
我在一个应用程序上使用它来向通过不同 PartialView
加载的按钮添加事件并且它工作得很好。