【发布时间】:2011-12-20 09:23:00
【问题描述】:
我有这个结构
View
Html.RenderPartial (1)
Html.RenderPartial (2)
然后在我拥有的每一个部分视图中
@Ajax.ActionLink("Edit", "EditMethod", null, new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "divEditContent"
}, new { @class = "my-edit" })
当点击它时,它会呈现另一个部分,将 div“divEditContent”替换为:
public PartialViewResult EditContactInformation()
{
return PartialView("_MyEdit", GetDetails());
}
_MyEdit partial 有类似的东西:
@using (Ajax.BeginForm("SaveContactInformation", "MyBsol", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "divContactInformationContent"
}))
{
<script type="text/javascript">
$(function () {
$('form#ajaxForm').find('a.submit-link').click(function () {
$('form#ajaxForm').submit();
});
})
</script>
<a href="#" class="submit-link">Save</a>
@Ajax.ActionLink("Cancel", "CancelEdit", null, new AjaxOptions
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "divContent"
}, new { @class = "my-cancel" })
@Html.TextBoxFor(model => model.Title, new { @class = "txt-input", placeholder = "Eg. Mr, Mrs, Ms" })
@Html.ValidationMessageFor(model => model.Title)
}
问题是 data-val 属性没有为输入呈现,但是如果我将最后一个部分 (_MyEdit) 放在 Ajax.ActionLink (1) 它确实呈现它们的位置。
这是一个错误吗?任何解决方法? 提前致谢!吉列尔莫
更新
我发现了一些非常有趣的东西,如果我去(在 Chrome 或带有 Firebug 的 Firefox 中)并点击查看源我看不到 data-val 属性,但如果我点击检查元素我看到它们..奇怪...
【问题讨论】:
标签: asp.net-mvc unobtrusive-javascript unobtrusive-validation