1

我的跨度中有一个值,我想与 C# 变量进行比较,这可能吗?如果是,那么如何?

我可以在 Jquery 变量中获取 Html 标记值,但仍然无法将其与 Razor View 中的 C# 变量值进行比较。

HTML Tag: <span style="visibility: hidden" id="category">"Some Value"</span>

C# 剃刀语法:

@foreach (var item in Model.InventoryViewModel.Items.Where(i => i.Category == "HTML Value"))
            {
// Some Code
}

我正在尝试将 span 中的值与 C# 变量匹配,请提供任何帮助建议:\ !!

4

1 回答 1

1

不知道您在做什么,但您可以使用变量或其他东西,甚至更好地使用视图模型上的属性。无论如何,Razor 代码在服务器上运行,HTML 在客户端上,所以在 Razor 中比较 HTML 值就像鸡与蛋的问题。

因此,您可以使用视图模型的值生成 pan 标签:

<span style="visibility: hidden" id="category">
    @Model.SomeProperty
</span>

然后你比较:

@foreach (var item in Model.InventoryViewModel.Items.Where(i => i.Category == Model.SomeProperty))
{            
    // Some Code
}

但更好的是在控制器操作上执行此操作并直接过滤集合,以便您在视图中要做的就是:

@foreach (var item in Model.InventoryViewModel.FilteredItems)
{
    // Some Code
}

甚至更短的使用模板:

@Html.EditorFor(x => x.InventoryViewModel.FilteredItems)
于 2012-04-13T22:10:04.443 回答