gpt4 book ai didi

asp.net - IControllerFactory ...没有返回名称为 'Rss' 的 Controller

转载 作者:行者123 更新时间:2023-12-02 10:50:00 28 4
gpt4 key购买 nike

我有一个名为 RssController 的 Controller ,看起来像这样

public partial class RssController : MVCExceptionBaseController
{

public virtual ActionResult Display()
{
var viewModel = new RssList();
return PartialView("Display", viewModel);
}
}

当我单击导航中的“登录”链接时,我收到以下消息:

The IControllerFactory 'GodsCreationTaxidermy.Helpers.StructureMapControllerFactory' did not return a controller for the name 'Rss'.

RSS 是从 Site.Mater 调用的,如下所示:

<% Html.RenderAction("Display", "Rss");%>

Display 是一个用于显示 Rss feed 的分部类,它看起来像这样:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<ul>
<%
RssList viewModel = ViewData.Model as RssList;

if (viewModel.Feeds.Count() > 0)
{
foreach (SelectListItem item in viewModel.Feeds)
{ %>
<li>
<%
Response.Write(String.Format("<a href='{0}' target='_blank'>{1} More</a>", item.Value, item.Text.TruncateString(30)));
}%>
</li>
<% }%>
</ul>

我点击的任何其他链接都可以正常工作,除了登录(登录位于它自己的区域中,这可能会导致问题,如果是这样,我将如何解决它?)

最佳答案

默认情况下,Html.RenderAction 方法不会搜索当前区域之外的 Controller 。为了让 LogIn 区域内的 Controller 找到 Rss Controller ,您需要使用 RenderAction 方法的重载之一:

<% Html.RenderAction("Display", "Rss", new { area = "" }); %>

“空字符串”区域是任何不属于区域的 Controller 的容器。

关于asp.net - IControllerFactory ...没有返回名称为 'Rss' 的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com