【发布时间】:2017-04-30 12:34:20
【问题描述】:
我编写的代码应该为每种语言返回 2 个横幅文件。总共有 6 个横幅文件(.jpg 文件)。 2 个横幅文件应显示在索引页面上。当用户是法语用户时,应显示法语的 2 个横幅文件。我的家庭控制器中有以下方法:
public ActionResult AdRotator()
{
//nog opvullen met banners
var userlanguage = Request.UserLanguages;
if (userlanguage.Equals("nl-nl || nl-be"))
{
ViewBag.File1 = Server.MapPath("~") + "Content/Images/Banners/Banner_NL.jpg";
ViewBag.File2 = Server.MapPath("~") + "Content/Images/Banners/Banner2_NL.jpg";
// ViewBag.File1 = Url.Content("~/Content/Images/Banners/Banner_NL.jpg");
// ViewBag.File2 = Url.Content("~/Content/Images/Banners/Banner2_NL.jpg");
// ViewBag.File1 = File("~/Content/images/Banners/Banner_NL.jpg", "image/jpg");
//view meegeven omdat aangemaakte partialview anders niet gevonden wordt na creatie
return PartialView("~/Views/Home/_AdRotator.cshtml");
}
else
{
if(userlanguage.Equals("fr-fr||fr-lu"))
{
ViewBag.File1 = Server.MapPath("~") + "Content/Images/Banners/Banner_FR.jpg";
ViewBag.File2 = Server.MapPath("~") + "Content/Images/Banners/Banner2_FR.jpg";
return PartialView("~/Views/Home/_AdRotator.cshtml");
}
else
{
ViewBag.File1 = Server.MapPath("~") + ("~/Content/Images/Banners/Banner_EN.jpg");
ViewBag.File2 = Server.MapPath("~") + ("~/Content/Images/Banners/Banner2_EN.jpg");
return PartialView("~/Views/Home/_AdRotator.cshtml");
}
}
}
cmets 中的代码是我之前用过但没有用的代码。
在索引页面上,我只渲染部分视图:
@Html.Partial("~/Views/Home/_AdRotator.cshtml");
局部视图:
<img src="@ViewBag.File1" alt="File1" />
<img src="@ViewBag.File2" alt="File2" />
运行网站时,会显示文本“File1”和“File2”。我在这里做错了什么?
在返回调用上创建局部视图 _AdRotator 并导航到它时,会显示以下错误消息:
由于这个错误,我想用它来代替 AdRotator() 方法:
return PartialView("~/Views/Home/_AdRotator.cshtml");
这可能是问题吗?我在 stackoverflow 上环顾四周,发现了类似的问题,但无法解决我的问题。
【问题讨论】:
标签: c# html asp.net-mvc razor viewbag