mbr*_*brc 12 asp.net asp.net-core
如何将此代码转换为AspNetCore
public static MvcHtmlString ChqLabelFor<TModel, TValue>(this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression, object htmlAttributes)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
string resolvedLabelText = metadata.DisplayName ?? metadata.PropertyName;
if (metadata.IsRequired)
{
resolvedLabelText += "*";
}
return LabelExtensions.LabelFor<TModel, TValue>(html, expression, resolvedLabelText, htmlAttributes);
}
Run Code Online (Sandbox Code Playgroud)
我知道我现在可以使用而MvcHtmlString不仅仅是HtmlString
做什么用
ModelMetadata.FromLambdaExpression
Run Code Online (Sandbox Code Playgroud)
我找不到任何其他选择......
小智 25
那些助手仍然存在,但他们被埋没了一点.
var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression(expression, htmlHelper.ViewData, htmlHelper.MetadataProvider);
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用访问元数据
modelExplorer.Metadata
Run Code Online (Sandbox Code Playgroud)
和模型本身
modelExplorer.Model
Run Code Online (Sandbox Code Playgroud)
我在这里有一些示例代码,用于PowerBI Embedded报表渲染.
https://blogs.endjin.com/2016/09/how-to-use-power-bi-embedded-with-aspnetcore/
Vah*_*eri 13
从@willDaBeast 对另一个答案的评论来看,对我有用的是我作为单独答案提供的以下代码,以实现更好的格式设置。尽管这可能不是推荐的做法。
ModelExpressionProvider expressionProvider = new ModelExpressionProvider(htmlHelper.MetadataProvider);
var metadata = expressionProvider.CreateModelExpression(htmlHelper.ViewData,expression);
Run Code Online (Sandbox Code Playgroud)
在网核 3.0 中:
ModelExpressionProvider从 DI获取实例
使用CreateModelExpression方法
var metadata = _modelExpressionProvider.CreateModelExpression(ViewData, expression).Metadata;
Run Code Online (Sandbox Code Playgroud)
PS为了扩展HtmlHelper,我建议另一种方法:
public class CustomHtmlHelper : HtmlHelper, ICustomHtmlHelper
{
// add your extension methods here and in ICustomHtmlHelper
// _modelExpressionProvider will be part of constructor
// register implementation in DI
}
Run Code Online (Sandbox Code Playgroud)
并在视图中使用新的助手:
@inject ICustomHtmlHelper Html
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3671 次 |
| 最近记录: |