MVC3 Razor: Is it Possible to Render a Legacy ASCX

2019-02-12 10:27发布

With the Razor view engine in MVC3,

Is it possible to render a legacy ascx?


I was expecting to be able to do something like:

@Html.RenderPartial("Footer.ascx")

2条回答
女痞
2楼-- · 2019-02-12 10:43

Yes. Try this instead:

@Html.Partial("Footer")

or

@{ Html.RenderPartial("Footer"); }
查看更多
太酷不给撩
3楼-- · 2019-02-12 10:51

Just wanted to add that I haven't seen a lot of people posting this solution:

Html.RenderAction("Footer", "Home");

This is better practise if you are using MVC, because you can specify any data you need in the controller instead of trying to manage it in a free-floating partial view. Very beneficial if you use a BaseController class to initialize all your calls.

public class HomeController : Controller {
    // ...

    [ChildActionOnly]
    public PartialViewResult Footer() {
         // do work
        return PartialView();
    }

    // ...
}
查看更多
登录 后发表回答