gpt4 book ai didi

c# - Asp.Net 5 TagHelper 模型状态绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:05 25 4
gpt4 key购买 nike

我正在尝试制作一个绑定(bind)到当前 ModelState 的自定义 TagHelper,就像

<input asp-for="this_part" />

我想从我的自定义 TagHelper 类中进行一些 ModelState 验证。

试图搜索 Github存储库,但无法查明此确切行为。有没有人找到办法做到这一点?

谢谢!

最佳答案

我不确定你在找什么,但是 DefaultHtmlGenerator does something similar for validation messages .

您可以通过 ViewContext 访问 ModelState(改编自 ValidationMessageTagHelper.cs 的示例):

[TargetElement("span", Attributes = AttributeName)]
public class YourTagHelper : TagHelper
{
private const string AttributeName = "your-for";

[ViewContext]
[HtmlAttributeNotBound]
protected internal ViewContext ViewContext { get; set; }

public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
var modelState = ViewContext.ViewData.ModelState;
// Your logic here
}
}

在您的评论中,您提到您需要智能感知来映射到模型属性。 ValidationMessageTagHelper.cs使用此属性执行此操作:

[HtmlAttributeName(ValidationForAttributeName)]
public ModelExpression For { get; set; }

关于c# - Asp.Net 5 TagHelper 模型状态绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30262708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com