我的主要观点:
@Ajax.ActionLink("append smth", "AddSmth", new AjaxOptions { UpdateTargetId = "smthContainer", InsertionMode.InsertAfter })
<div id="smthContainer"></div>
我的控制器:
public ActionResult AddSmth()
{
return PartialView("Smth");
}
部分观点:
<input type="text" id="dateOfSmth" />
<script type="text/javascript">
$(document).ready(function () {
$('#dateOfSmth').datepicker();
});
</script>
问题是在将部分视图添加到文档之前调用了就绪函数,因此 $('#dateOfSmth') 为空。如果我用 InsertionMode.Replace 替换 InsertionMode.InsertAfter,一切正常。您知道为什么 InsertionMode.InsertAfter 不能正常工作吗?
编辑:使用 jQuery 附加视图时效果很好:
<a href="javascript:addSmth();"> Add Smth </a>
<script type="text/javascript">
function addSmth() {
$.get('@Html.Raw(Url.Action("AddSmth"))', null, function (view) {
$('#smthContainer').append(view);
});
}
</script>