C# Razor中的可变范围问题

C# Razor中的可变范围问题,c#,razor,C#,Razor,我对razor还不太熟悉,为了完成对底层c#代码所做的一些更改,我有点糊涂,现在遇到了一个问题 我需要在基础对象上使用设置属性来获取正确的配置文件,以便从中提取图像位置。我正在尝试将硬编码图像更改为可配置图像 到目前为止,我所拥有的: else { @{ var prefix = Model.GetNameSpaceFromSettings(); var configImgs = ChartColors.GetImgs(prefix); } <div style='f

我对razor还不太熟悉,为了完成对底层c#代码所做的一些更改,我有点糊涂,现在遇到了一个问题

我需要在基础对象上使用设置属性来获取正确的配置文件,以便从中提取图像位置。我正在尝试将硬编码图像更改为可配置图像

到目前为止,我所拥有的:

else
{
@{ 
     var prefix = Model.GetNameSpaceFromSettings();
     var configImgs = ChartColors.GetImgs(prefix);
}
<div style='float:left;'>
<img src='@Url.Content(Model.ComparisonChart(300, 250, false))' border='0' alt=''/>   
<p></p> 
<table width='295' cellpadding='2' cellspacing='1' border='0' class='summarygridtablebackground' align="left">                       
<tr class='summarygridbackground'>
<td>
<div style="float:left; width:125px;"><img src='@configImgs.MyImg' border='0'></div>//This is where I'm working
</td>
</tr>
//a few more rows where I'm trying to eventually do the same thing
</table>
</div>
}
这一个失败的消息对是,“非静态字段、方法或属性'System.Web.Mvx.WebViewPage.Model.get'需要一个对象”(我也尝试用'This'引用它,它说'This'在当前上下文中不可用),并且字段初始值设定项不能引用非静态字段、方法或属性“ASP.Myfile.prefix”


我真的需要一些帮助,谢谢。

尝试在第一个@{}中声明变量块。然后您就可以在视图中的任何位置使用变量。

您的第一个示例应该可以工作。您的视图中可能存在其他问题,因此razor认为您的变量未声明。您可以发布完整视图或将其上载到某个位置吗?/Stuff后面隐藏了什么“评论?比如@helper?因为它应该可以正常工作…它主要是一堆html标记,还有一些其他的代码片段,我将在几分钟内发布一个编辑,填充stuff部分,将其格式化为更一般的情况。啊,谢谢,我没有意识到第一个被认为是特殊情况。我认为把它放在使用它的代码附近会更好。
else
{
@functions{ 
      string prefix = Model.GetNameSpaceFromSettings();
      Images configImgs = ChartColors.GetImgs(prefix);
}