gpt4 book ai didi

c# - 如何获取输入的名称,如 mvc html HiddenFor

转载 作者:太空狗 更新时间:2023-10-30 01:25:33 25 4
gpt4 key购买 nike

想写一个类似HiddenFor的HtmlHelper扩展方法。不同之处在于,我想控制进入值属性的内容以及添加额外的属性。我想我可以只看一下 MVC 的源代码,因为它是开源的。但是,除非我是盲人,否则源代码中似乎没有包含 HiddenFor、TextBoxFor 等强类型辅助方法。

方法签名使用Expression>表达式。

给定表达式,我如何才能获得与 HiddenFor 相同的 name 属性值?

最佳答案

But, unless I am blind, it appears that the strongly typed helper methods like HiddenFor, TextBoxFor, etc, are not included in the source code

一切都包含在源代码中,只是download它并查看 InputExtensions.cs

所以要得到名字:

public static MvcHtmlString FooBarFor<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression
)
{
var name = ExpressionHelper.GetExpressionText(expression);
var fullHtmlFieldName = htmlHelper
.ViewContext
.ViewData
.TemplateInfo
.GetFullHtmlFieldName(name);

// do something with the name
...
}

ModelMetadata 元数据 = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData)

关于c# - 如何获取输入的名称,如 mvc html HiddenFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683198/

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