WTM(ASP.NET Core)使用ASP.NET Core自带TagHelper显示模型验证消息

       WTM框架使用TagHelper提供了丰富的前端控件,目前框架只支持LayUI,后期会增加更多框架整体的运转并不依赖于LayUI,开发人员可以使用最普通的Html来编写页面,框架提供的控件只是简化编写难度,提高速度前端页面中,wt:开头的为框架提供的控件。

        基于LayUI的WTMTagHelper确实很好用。

        例如input,就可以简单的写成这样,既能直接绑定对象,又能打印错误消息。

<wt:textbox field="Vm.Entity.LoginName" />

        但是实际开发中,展示给部分客户的不一定全是 LayUI的后台页面,还有不少普通的Html页面。MVC开发者,这个时候准是在想,我改如何在WTM框架中打印模型验证消息呢?

          这时候,引入ASP.NET Core自带TagHelper是一个比较不错的选择。

   一、进入ASP.NET Core自带TagHelper

           在Views→_ViewImports.cshtml中添加

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

        在使用模型httpget方法中CreateVM,并传入视图

public class TestController : BaseController
    {
        public IActionResult Index()
        {
            TestPage vm = CreateVM<TestPage>();
            return View(vm);
        }
        [HttpPost]
        public IActionResult Index(TestPage testPage)
        {
            if (ModelState.IsValid)
            {
                return Content("ok");
            }
            return View(testPage);
        }
    }

         因为继承BaseController,它会在页面渲染的时候检查模型是否继承BaseVM。     

@model MineSide.Models.SqlModel.TestPage
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <form asp-action="Index" method="post">
        <input  type="text" asp-for="Name" />
        <div asp-validation-summary="All"></div>\
        <button type="submit"></button>
    </form>
    
</body>
</html>

         这样在页面中就可以正常使用ASP.NET Core自带TagHelper了。

猜你喜欢

转载自blog.csdn.net/sxy_student/article/details/105547233