如何在asp.net的上下文中保持razor变量
本文关键字:razor 变量 上下文 asp net | 更新日期: 2023-09-27 17:59:14
这是我的视图代码。
@{
string file = "~/Content/Images/" + User.Identity.GetUserId() + ".png";
if (File.Exists(file))
{
var imgUrl = Url.Content("~/Content/Images/" + User.Identity.GetUserId() + ".png") + "?time=" + DateTime.Now.ToString();
}
else
{
var imgUrl = Url.Content("~/Content/Images/Default_Profile.png") + "?time=" + DateTime.Now.ToString();
}
}
<img src="@imgUrl" height="50" width="50" />
我在我的src属性中得到一个错误,如下面的行所示
<img src="@imgUrl" height="50" width="50" />
我收到一个错误,说imgUrl不在上下文中。如何解决此问题?我尝试使用<span>
,也尝试将其放入{}中,但没有成功。我也尝试过为src属性加引号,但效果不太好。
您需要在if
语句之外声明imgUrl
变量,因为它在自己的作用域中。
@{
string file = "~/Content/Images/" + User.Identity.GetUserId() + ".png";
var imgUrl = string.Empty;
if (File.Exists(file))
{
imgUrl = Url.Content("~/Content/Images/" + User.Identity.GetUserId() + ".png") + "?time=" + DateTime.Now.ToString();
}
else
{
imgUrl = Url.Content("~/Content/Images/Default_Profile.png") + "?time=" + DateTime.Now.ToString();
}
<img src="@imgUrl" height="50" width="50" />
}
@{
string imgUrl = string.Empty;
string file = "~/Content/Images/" + User.Identity.GetUserId() + ".png";
if (File.Exists(file))
{
imgUrl = Url.Content("~/Content/Images/" + User.Identity.GetUserId() + ".png") + "?time=" + DateTime.Now.ToString();
}
else
{
imgUrl = Url.Content("~/Content/Images/Default_Profile.png") + "?time=" + DateTime.Now.ToString();
}
<img src="@imgUrl" height="50" width="50" />
}
imgUrl
变量。