标记助手属性的评估方法

时间:2019-10-11 18:00:47

标签: razor-pages

我有如下内容:

HTML

<select asp-for="MyField" asp-items="MyItems" security-can-edit="@await DoIHaveAccess(MyEnum.Something)">
</select>

C#

public async Task<bool> DoIHaveAccess(MyEnum item) {
    bool hasAccess = false;
    { ... some code }
    return hasAccess;
}

TagHelper

    public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) {
        await base.ProcessAsync(context, output);

        if(Boolean.TryParse(context.AllAttributes["security-can-edit"].Value.ToString(), out bool canEdit) && !canEdit) {

        }
    }

当我在IF语句的TagHelper中放置一个调试点时,系统告诉我“ security-can-edit”属性的值是文字文本“ security-can-edit”。如果删除等待,则属性为我的System.Threading.Tasks.Task`1 [System.Boolean]。

如何获取剃须刀代码以评估该方法并传递是非值?

0 个答案:

没有答案