如果我在.net 4.5中启动一个新项目并点击管理nuget包,请搜索ajax,然后点击install for ajax unobtrusive。然后我可以进入我的cshtml文件并键入@Ajax .___,例如@ Ajax.beginForm
如果我使用Dot Net Core创建一个新项目......我不能,而是它给了我无用的错误:
“当前上下文中不存在'Ajax'这个名称”
我在网上搜索过,一无所获......
基本上我想在.net
中创建一个带有Ajax调用的表单如:
“@using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) {
”
任何人都知道我还能尝试什么?
在上面,我可以看到Ajax是一个类型为AjaxHelper的对象,它来自System.web.mvc.webviewpage ...所以它可能永远不适用于.net core
答案 0 :(得分:10)
虽然Ajax.BeginForm()
方法不起作用,但实际上不引人注目的Ajax html会起作用。 C#方法只是帮助生成Html表单标签。请原谅我的语法是错误的,这是来自记忆,但你明白了
@using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" }))
{
//form content
}
变为
<form asp-action="EmployeeMaster" asp-controller="Home" method="POST" data-ajax="true" data-ajax-update="divEmp">
<!-- form content-->
</form>
注意:以上HTML STILL需要不显眼的ajax js文件才能正确连接这些data- *属性。这不是ASP.NET Core MVC的一部分
答案 1 :(得分:0)
OnSuccess的等效项是什么
@using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp", OnSuccess="ShowMessage" }))
{
//form content
}