在Global.asax
中,我想基于我拥有的字符串数组动态添加多种显示模式,因此:
foreach (string displayModeId in myDisplayModeIds)
{
modes.Insert(0, new DefaultDisplayMode(displayModeId)
{
ContextCondition = context =>
context.Request["DisplayMode"] == displayModeId
}
);
}
当然这不起作用,因为displayModeId
必须是ContextCondition
范围内的常量。
任何帮助表示感谢。
答案 0 :(得分:1)
你可以在一个闭包中捕获它,这样它就不会在循环中逃离你:
foreach (string displayModeId in myDisplayModeIds)
{
string dmId = displayModeId;
modes.Insert(0, new DefaultDisplayMode(displayModeId)
{
ContextCondition = context => context.Request["DisplayMode"] == dmId
});
}