Asp.net mvc 2 Html.RenderAction-路径'/';找不到
在我的母版页中使用ASP.NET MVC 2和Html.RenderAction(按以下方式实现)会引发一个错误:“未找到路径“/”的控制器”: 我是个新手,我需要在RegisterRoutes做些什么才能让这一切顺利进行吗Asp.net mvc 2 Html.RenderAction-路径'/';找不到,asp.net-mvc-2,Asp.net Mvc 2,在我的母版页中使用ASP.NET MVC 2和Html.RenderAction(按以下方式实现)会引发一个错误:“未找到路径“/”的控制器”: 我是个新手,我需要在RegisterRoutes做些什么才能让这一切顺利进行吗 <% Html.RenderAction("TeaserList", "SportEventController"); %> public class SportEventController : Controller { public string
<% Html.RenderAction("TeaserList", "SportEventController"); %>
public class SportEventController : Controller
{
public string TeaserList()
{
return "hi from teaserlist";
}
}
公共类SportEventController:控制器
{
公共字符串列表()
{
返回“Hifromtasterlist”;
}
}
为了使其正常工作,TeaserList()
必须是一个返回操作结果的方法,如:
`
public virtual ActionResult TeaserList()
{
return View();
}
`
如果您想要“HifromStraterlist”,那么您可以在名为Straterlist的视图中使用它,或者您可以添加
`ViewData["teaserList"] = "hi from teaserlist";`
并将其呈现在您的视图中。我不确定,但我猜以下情况是错误的:
- 您的TriserList方法应该返回一个
- 对RenderAction的调用应该是
RenderAction(“TriserList”、“SportEvent”)
,不带控制器后缀
我将爬回我的shell,它是“控制器”后缀,谢谢Martin…顺便说一句:它不必返回ActionResult,返回字符串就可以了…试试看!返回用户字符串时请注意安全问题!(看起来不像是这样,但必须提到……)它不必返回ActionResult,返回字符串就可以了……试试看!虽然这是真的(本质上,您的控制器将所有公共方法都转换为操作),但我相信其精神是返回ActionResults,这样(例如,对于测试),您就可以返回任何子类型。因此,在您的情况下,可以返回ContentResult。