You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 2.0中Html Helper转Tag Helper的替代方案咨询

没问题,我来帮你把这段Html Helper转换成Tag Helper写法。因为你的视图模型是直接的string类型,不是带InputText属性的复杂对象,所以得稍微调整一下写法,具体如下:

@model string
<form asp-action="Encryption" asp-controller="System" method="post" asp-antiforgery="true">
    <!-- 替代 @Html.TextBox("InputText", Model, new { @class = "form-control" }) -->
    <input type="text" 
           name="InputText" 
           class="form-control" 
           value="@Model" 
           asp-validation-for="@Model" />
    
    <!-- 替代 @Html.ValidationMessage("InputText") -->
    <span class="text-danger" 
          data-valmsg-for="InputText" 
          data-valmsg-replace="true"></span>
</form>

关键细节说明:

  • 输入框部分:
    • name="InputText":确保表单提交时,参数能正确映射到Action方法中名为InputText的参数,和原Helper的第一个参数完全对应。
    • value="@Model":把传入的字符串模型值填充到输入框中,对应原Helper的Model参数。
    • asp-validation-for="@Model":自动生成客户端验证所需的data-val-*属性,和原Helper的验证逻辑保持一致。
  • 验证消息部分:
    • data-valmsg-for="InputText":指定该元素显示InputText字段的验证错误,完全对应原Html.ValidationMessage("InputText")的作用。
    • data-valmsg-replace="true":表示用错误消息替换span的默认内容,和原Helper的默认行为一致。
    • class="text-danger":使用Bootstrap样式类,和原Helper生成的错误消息样式匹配。

如果你不需要客户端验证,也可以去掉asp-validation-for和data-val-*相关属性,只保留name和value就能实现基本的表单提交功能。

内容的提问来源于stack exchange,提问作者mnu-nasir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:36:14