我找到了很多关于类似主题的答案,但都指的是不是由AJAX加载的PartialViews,其中解决方案是HtmlHelpers或Head部分,但是当我通过AJAX加载PartialView时它不起作用。
我想在加载AJAX的PartialView中添加CSS样式表和JS脚本。现在我在PartialView中编写它并且它可以工作,但它不是很好的解决方案(包括体内的脚本和样式表)。
答案 0 :(得分:0)
除验证外,一切都应该正常工作。您需要告诉jQuery您的新内容以便验证它。 看到 ASP.Net MVC: Can you use Data Annotations / Validation with an AJAX / jQuery call?
答案 1 :(得分:0)
如果您只将PartialView加载到页面上,那么应该没有问题,包括正文中的脚本和CSS。就像亚当说的,如果你动态地包含一个HTML表单,你只需告诉jQuery它就可以看到这里ASP.Net MVC 3 client side validation with a dynamic form
但是,如果要在页面上多次包含相同的PartialView,并且不希望多次加载脚本。然后你可以使用动态脚本加载器:
答案 2 :(得分:0)
我之前不知道在体内使用脚本标签并不是邪恶的。所以我起初并没有那么糟糕。
我在cssLink.js中实现了两个函数,我在head中包含了这些函数:
/// <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>
谢谢大家的帮助,我认为关于验证的信息应该对我以后有用:)