Html.RenderAction抛出TextWriter错误

时间:2013-03-06 17:12:25

标签: asp.net-mvc

我是使用MVC的新手。在我的母版页中,我有以下代码

var strAppThemes = <%= Html.RenderAction("PickupThemes", "Header") %>;

和我的HeaderController定义如下:

public class HeaderController : Controller
{
    public ViewResult Index()
    {
        return View(PickupThemes());
    }

    public string PickupThemes()
    {
         return "Hello Lavanya Deepak!";
    }
}

当我浏览使用该标头从该母版页派生的aspx页面时,它会抛出以下错误

  

编译器错误消息:CS1502:最佳重载方法匹配   'System.IO.TextWriter.Write(char)'有一些无效的参数

     

第18行:var strAppThemes =&lt;%=   Html.RenderAction(“PickupThemes”,“Header”)%&gt ;;

我哪里错了?

2 个答案:

答案 0 :(得分:0)

返回类型实际上仍然是ActionResult,只是Content的ActionResult。如下所示。

public ActionResult PickupThemese() {
    return Content("Hello Lavanya Deepak!");
}

答案 1 :(得分:0)

我现在处理了一条不同的路线。现在我没有使用&lt;%语法,而是将请求调到控制器/方法并捕获输出。

- 基于汤姆的建议。

不确定这是否是最好的方法,因为它会播出额外的http请求。如果有人可以阐明为什么第18行:var strAppThemes =&lt;%= Html.RenderAction(“PickupThemes”,“Header”)%&gt ;;不工作会很棒。