在ASP.NET Core MVC中,可以使用模型验证来验证打开的未格式化页面。以下是一个包含代码示例的解决方法:
首先,确保在Startup.cs文件中启用模型验证:
public void ConfigureServices(IServiceCollection services)
{
// 添加模型验证服务
services.AddControllersWithViews()
.AddRazorRuntimeCompilation()
.AddMvcOptions(options =>
{
options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
})
.ConfigureApiBehaviorOptions(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
// 其他服务配置...
}
接下来,创建一个模型类来表示要验证的数据:
public class MyModel
{
[Required]
public string Name { get; set; }
// 其他属性...
}
然后,在控制器中创建一个动作方法来处理打开的未格式化页面:
public IActionResult MyAction()
{
return View();
}
[HttpPost]
public IActionResult MyAction(MyModel model)
{
if (ModelState.IsValid)
{
// 模型验证通过,执行其他操作
return RedirectToAction("Success");
}
// 模型验证失败,返回视图并显示错误信息
return View(model);
}
public IActionResult Success()
{
return View();
}
最后,创建一个视图来显示未格式化页面和错误信息:
@model MyModel
My Action
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.ValidationMessageFor(m => m.Name)
}
通过以上代码示例,可以实现在ASP.NET Core MVC中验证打开的未格式化页面。当提交表单时,模型验证会自动执行,如果验证失败,将在视图中显示错误信息。