任何人都可以解释为什么这两个ActionResults会返回不同的结果,尽管它们是相同的吗?

时间:2014-02-01 18:03:51

标签: c# asp.net asp.net-mvc actionresult

我正在制作一个投资组合。在我的投资组合视图中,我有以下代码:

<a href="@Url.Action("Index", "Project", new { _title = @ViewBag.ProjectContainer.Projects[x].Title, _imagePath = @ViewBag.ProjectContainer.Projects[x].ImagePath, _brief = @ViewBag.ProjectContainer.Projects[x].Brief, _description = @ViewBag.ProjectContainer.Projects[x].FullDescription, })" class=" readmore-button button">Learn More</a>

它放置在一个遍历ViewBag的循环中,并为每个&#34;项目&#34;绘制一个按钮。在&#34;项目容器&#34;。单击时,这应该指向项目页面并显示相关信息。

如上所述(在Project控制器中调用Index()方法),一切都按预期工作,页面显示如下:

http://gyazo.com/57901eab7ccf8be45270312a92880072

然而,当我在我的控制器中调用另一个方法时,我将其命名为&#34; SetProject&#34;,会发生以下情况:

http://gyazo.com/6a5c6164dc4e8b55ec8a6684ce469652

我的控制器方法如下所示:

public ActionResult Index(string _title, string _imagePath, string _brief, string _description)
{
    ProjectViewModel proj = new ProjectViewModel { Title = _title, ImagePath = _imagePath, Brief = _brief, FullDescription = _description };
    return View("Project", proj);
}

public ActionResult SetProject(string _title, string _imagePath, string _brief, string _description)
{
    ProjectViewModel proj = new ProjectViewModel { Title = _title, ImagePath = _imagePath, Brief = _brief, FullDescription = _description };
    return View("Project", proj);
}

您可能会注意到这些是相同的 - 因此我的问题是,为什么他们看起来如此不同?为什么第二个根本不起作用?

我对ASP.NET和Razor视图引擎很新,并试图学习,但在这里非常困难。非常感谢任何帮助。

这可能与Route配置有关吗?我能看到的唯一区别是破损的URL不同(有额外的&#34; / SetProject&#34;)

1 个答案:

答案 0 :(得分:1)

  

为什么第二个根本不起作用?

由于你的css引用。它正在工作,只是它看起来不像你期望的那样。确保在Layout中包含所有css引用,并使用Layout页确保您的项目视图。