在ASP.NET Core 2.1中,Unobtrusive Ajax验证与部分视图表单交换可能不起作用的一个常见原因是缺少必要的JavaScript文件。下面是一种可能的解决方法:
_Layout.cshtml
文件,确保以下代码位于
标签内:
@section Scripts {
}
data-ajax="true"
:指示表单使用Ajax提交。data-ajax-method="POST"
:指定Ajax提交的HTTP方法。data-ajax-update="[ID]"
:指定用于更新部分视图的元素的ID。data-ajax-mode="replace"
:指定部分视图如何更新,这里使用替换模式。data-ajax-loading="[ID]"
:指定用于显示加载指示器的元素的ID。以下是一个示例代码,展示了如何使用Unobtrusive Ajax验证和部分视图交换:
@using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "partialViewContainer",
LoadingElementId = "loadingIndicator",
InsertionMode = InsertionMode.Replace
}))
{
}
@section Scripts {
}
请注意,确保替换ActionName
和ControllerName
为实际的控制器和动作名称,partialViewContainer
和loadingIndicator
为实际的元素ID。