我正在使用Umbraco 4.11.8,并希望创建一个PDF。我有HTML代码,应该可以作为PDF下载
我找到了一个包RazorPDF,它在MVC示例中工作得很好。
但是当我在Umbraco尝试的时候,我不知道如何得到它。
我需要SurfaceController还是别的什么吗?
如果是,我如何说Umbraco使用我的(表面)控制器?
发布于 2013-08-12 13:56:01
您需要的最好的起点是这里:http://our.umbraco.org/documentation/Reference/Mvc/
但是不,严格地说,你不需要SurfaceController。如果您希望访问通过控制器发出的请求的Umbraco上下文,则只需要一个。
因此,如果您只想让一个控制器服务于您的PDF,您可以有一个标准的控制器实现。但是,您必须为此调整您的路线,这在上面的Umbraco文档中都有介绍。
编辑:
你需要这样的路线:
RouteTable.Routes.MapRoute(
name: "PdfRazor",
url: "PdfCreator/{action}"
);您还需要将路径添加到Web.config以供Umbraco忽略,例如:
<add key="umbracoReservedPaths" value="~/umbraco,~/install,~/pdfcreator" />发布于 2013-08-12 14:25:49
我把它当作答案,这样就更容易读了。请随意编辑。
我没有发现我的错或者我错过了什么。
我的控制器签名如下:public class PdfCreatorController : Controller
我想要调用的方法叫做public override ActionResult Pdf()。
我的路线:
RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);`. 然后我试着像www.url.com/PdfCreator/Pdf一样调用我的控制器。
https://stackoverflow.com/questions/18187953
复制相似问题