当我的视图加载时,我需要检查用户正在访问哪个域,并根据结果,为页面上显示的徽标引用不同的样式表和图像源.
这是我的代码:
@{
string currentstore=HttpContext.Current.Request.ServerVariables["HTTP_HOST"];
if (currentstore == "www.mydomain.com")
{
<link href="/path/to/my/stylesheets/styles1-print.css" rel="stylesheet" type="text/css" />
string imgsrc="/content/images/uploaded/store1_logo.jpg";
}
else
{
<link href="/path/to/my/stylesheets/styles2-print.css" rel="stylesheet" type="text/css" />
string imgsrc="/content/images/uploaded/store2_logo.gif";
}
}
Run Code Online (Sandbox Code Playgroud)
然后,再往前一点我调用imgsrc变量如下:
<a href="@Url.RouteUrl("HomePage")" class="logo"><img alt="" src="@imgsrc"></a>
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说:
错误CS0103:当前上下文中不存在名称"imgsrc"
我想这是因为"imgsrc"变量是在一个现在关闭的代码块中定义的......?
在页面下方引用此变量的正确方法是什么?
几天前我问了一个问题,人们很乐意提供帮助.我的情况有所改变,我的代码也有.
我首先需要确定当前的文章组是否是需要区别对待的几个文章组之一.如果是,则使用从数据库中检索的完整值来定义var"strbody".如果它不是那些特殊文章组之一,那么在定义和显示它之前,我必须进行一些字符串操作来格式化检索到的值.
我的字符串操作代码就像它应该的那样工作,但是当我在代码块下面调用它时,我在if/then/else块中定义的strbody变量都没有被识别出来???
这是我的代码:
@{
string group = Model.ArticleGroupName;
if (group.Contains("Spacial Orientation")||group.Contains("Topography")||group.Contains("Osteology")||group.Contains("Angiology")||group.Contains("Neurology")||group.Contains("Myology")||group.Contains("Radiology")||group.Contains("Misc. Drawings")||group.Contains("Clinical Testing"))
{
var strbody = item.ShortBody;
}
else
{
string s = item.ShortBody;
string sLess = s.Remove(0, 12);
int index = sLess.IndexOf("Summary");
var strbody = (sLess.Substring(index + 8));
}
}
@strbody
Run Code Online (Sandbox Code Playgroud)
这是错误:
\Plugins\FoxNetSoft.Articles\Views\ArticleRead\List.cshtml(76): error CS0103: The name 'strbody' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)
我不明白当我在任何可能的情况下定义它时var是如何不存在的......
我是新手,所以请毫不犹豫地惩罚我做蠢事......我需要学习!
更新:
它现在工作得很好.感谢所有帮助过的人!
以下是最终的工作代码:
@{
string strbody = item.ShortBody;
string group = Model.ArticleGroupName;
var thestrbody = " ";
if (group.Contains("Spacial Orientation")||group.Contains("Topography")||group.Contains("Osteology")||group.Contains("Angiology")||group.Contains("Neurology")||group.Contains("Myology")||group.Contains("Radiology")||group.Contains("Misc. …Run Code Online (Sandbox Code Playgroud)