我發現了許多關於類似主題的答案,但都是指部分視圖不是通過AJAX加載的,其中的解決方案例如是。 HtmlHelpers或Head部分,但在我通過AJAX加載PartialView時不起作用。在AJAX加載的PartialView中添加CSS和JS
我想在AJAX加載的PartialView中添加CSS樣式表和JS腳本。現在我在PartialView中編寫它,它可以工作,但它不是很好的解決方案(包括體內的腳本和樣式表)。
我發現了許多關於類似主題的答案,但都是指部分視圖不是通過AJAX加載的,其中的解決方案例如是。 HtmlHelpers或Head部分,但在我通過AJAX加載PartialView時不起作用。在AJAX加載的PartialView中添加CSS和JS
我想在AJAX加載的PartialView中添加CSS樣式表和JS腳本。現在我在PartialView中編寫它,它可以工作,但它不是很好的解決方案(包括體內的腳本和樣式表)。
我不知道早些時候在身體內使用script標籤並不是邪惡的。所以我起初並不是那麼糟糕。
我實現了在cssLink.js兩個函數,我包括頭:
/// <reference path="../jquery-1.4.4.js" />
function addCssLink(link) {
var _cssLink = '<link rel=\"stylesheet\" href=\"' + link + '\" type=\"text/css\" />';
$head = $('head');
$link = $('link[href=' + link + ']', $head);
if ($link.length == 0) {
$head.append(_cssLink);
}
}
function removeCssLink(link) {
$('head link[href=' + link + ']').remove();
}
我用內PartialViews這些功能:
<script type="text/javascript">
$(document).ready(function() {
$('#sideMenu').tabs('#content', '#content > *');
addCssLink('/Content/SideMenu.css');
});
</script>
<script type="text/javascript">
$(document).ready(function() {
removeCssLink('/Content/SideMenu.css');
});
</script>
感謝您的幫助球員,我認爲信息關於驗證應該有助於我以後:)
除驗證外,一切都應該正常工作。你需要告訴jQuery你的新內容才能驗證它。 見 ASP.Net MVC: Can you use Data Annotations/Validation with an AJAX/jQuery call?
如果你只有一次加載PartialView到頁面上,應該是包括在體內的腳本和CSS沒有問題。像亞當說,如果你動態地包括一個HTML表單,你只需要告訴jQuery它就可以看到ASP.Net MVC 3 client side validation with a dynamic form
但是,如果你想在頁面上多次包含相同的PartialView,並且不想加載腳本多個倍。再就是動態腳本加載器,你可以使用:
你可以加載與主頁面加載的CSS和JS文件? –
如果那會很容易;)可悲的是......例如我必須添加一些jquery腳本,這些腳本只能在該PartialView中存在,因此如果我在Layout中較早添加該腳本,它將無法工作。 – mrzepa
我沒有說它會很容易,本身......:D如果你用選擇器和你的jQuery在函數中封裝你的css,你可以在你的回調中調用函數,對吧? –