gpt4 book ai didi

asp.net-mvc - 如何从 View 中检索传递给我的自定义 EditorFor 的对象属性的 VALUE?

转载 作者:行者123 更新时间:2023-12-01 05:30:54 24 4
gpt4 key购买 nike

System.Web.Mvc 有一个 HtmlHelper,其中包含一个名为 的方法。编辑为在 View 中呈现与数据类型关联的编辑控件。

我试图通过扩展 ASP.NET MVC 2 HtmlHelper 创建我自己的 EditorFor 方法。我有以下几点:

    public static string EditorForNew<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> item)
{
string value = "";
string name = item.ToString(); // THIS IS CORRECTED IN MY COMMENT TO THE ANSWER BELOW!
Type type = typeof(TProperty);

if (type == typeof(int) || type == typeof(int?) || type == typeof(double) || type == typeof(double?) || type == typeof(decimal) || type == typeof(decimal?) || type == typeof(float) || type == typeof(float?))
{
return helper.TextBox(name, value, new { @class = "number" }).ToString();
}
else
{
return helper.TextBox(name, value).ToString();
}
}

任何人都可以解释我如何检索从 View 传递给 this 的对象属性的 VALUE 吗?

最佳答案

您需要使用一个 ModelMetadata:

ModelMetadata metadata = ModelMetadata.FromLambdaExpression(item, helper.ViewData);

然后您可以从 metadata.Model 中获取值属性(property)。

关于asp.net-mvc - 如何从 View 中检索传递给我的自定义 EditorFor 的对象属性的 VALUE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229391/

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