C# 将带有图像内容的ViewBag解析为局部视图

C# 将带有图像内容的ViewBag解析为局部视图,c#,html,asp.net-mvc,razor,viewbag,C#,Html,Asp.net Mvc,Razor,Viewbag,我编写了每种语言应该返回2个横幅文件的代码。总共有6个横幅文件(.jpg文件)。索引页上应显示2个标题文件。当用户是法语用户时,应显示法语的2个横幅文件。我的家庭控制器中有以下方法: public ActionResult AdRotator() { //nog opvullen met banners var userlanguage = Request.UserLanguages; if (userlanguage.Equals(

我编写了每种语言应该返回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");
            }
        }
    }
注释中的代码是我以前使用过但不起作用的代码

在索引页上,我仅呈现部分视图:

@Html.Partial(“~/Views/Home/_AdRotator.cshtml”)

局部视图:


运行网站时,将显示文本“File1”和“File2”。我做错了什么

在返回调用上创建局部视图AdRotator并导航到它时,将显示以下错误消息:

由于这个错误,我想改为使用AdRotator()方法:

返回PartialView(“~/Views/Home/\u AdRotator.cshtml”)


这可能是问题所在吗?我查看了stackoverflow,发现了类似的问题,但无法解决我的问题。

我认为您在渲染局部视图时没有调用控制器中的操作

而不是
@Html.Partial(“~/Views/Home/\u AdRotator.cshtml”)

试试:
@Html.Action('AdRotator','Home')


这将调用
AdRotator
操作,填充视图包并显示图像。

哦,是的,你说得对。我犯了愚蠢的错误。谢谢@没问题。