如何在C#Razor View中阅读HTML标记值

时间:2012-04-13 22:04:24

标签: javascript jquery html c#-4.0 razor

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

我可以在Jquery变量中获取Html标记值,但仍然没有成功将它与Razor View中的C#变量值进行比较。

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

C#Razor语法:

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

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

1 个答案:

答案 0 :(得分: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)