从IHttpHandler返回Razor(cshtml)页面而不进行重定向

R4D4

我有一个ASP.net MVC项目,但是我对MS实现MVC的方式不太感兴趣,因此将项目缩减到了最低限度。我没有定义任何路由,而是DefaultDocumentweb.config其中有一个指向实现的类条目IHttpHandler

在我的IHttpHandler课堂上,我想输出一个Razor .cshtml文件,我不想创建到cshtml文件的路由条目,因此不能简单地将用户重定向到.cshtml文件。我发现有很多资源在讨论,PageParser.GetCompiledPageInstance但这似乎是针对aspx文件而不是Razor View Engine。

那么,HttpContext从我的IHttpHandler班级输出.cshtml文件到我应该对哪些班级感兴趣呢?

public class Main : IHttpHandler{
    public void ProcessRequest(HttpContext context){
        //
    }
}
R4D4

看来我一直在找错东西-秘密的一句话是:

将剃刀视图渲染为字符串

下面的代码看起来不错:

public static string GetRazorViewAsString(object model, string filePath)
{
    var st = new StringWriter();
    var context = new HttpContextWrapper(HttpContext.Current);
    var routeData = new RouteData();
    var controllerContext = new ControllerContext(new RequestContext(context, routeData), new FakeController());
    var razor = new RazorView(controllerContext, filePath, null, false, null);
    razor.Render(new ViewContext(controllerContext, razor, new ViewDataDictionary(model), new TempDataDictionary(), st), st);
    return st.ToString();
}

来自http://forums.asp.net/post/5333141.aspx的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从IHttpHandler返回Razor(cshtml)页面而不进行重定向

来自分类Dev

htaccess加载页面B而不是页面A而不进行重定向

来自分类Dev

从CSHTML页面重定向

来自分类Dev

如何在razor视图.cshtml中重定向页面?

来自分类Dev

写入文件而不进行重定向?

来自分类Dev

引导程序验证成功后,如何使用$ .post提交表单而不进行页面重定向?

来自分类常见问题

如何提交HTML表单而不进行重定向

来自分类Dev

通过javascript提交表单而不进行重定向

来自分类Dev

无法打开页面进行多次重定向

来自分类Dev

无法打开页面进行多次重定向

来自分类Dev

使用AIML进行页面重定向

来自分类Dev

返回 RedirectToAction 不从登录页面重定向

来自分类Dev

重定向到OnPost中特定位置的Razor页面

来自分类Dev

ASP.NET Core 3.1 Razor页面:如何自动从“索引”页面重定向到“登录”页面?

来自分类Dev

如何从Process.StandardOutput读取而不进行重定向?(F#)

来自分类Dev

尝试将轮播添加到网页而不进行重定向

来自分类Dev

Firebase身份验证在重定向时不进行身份验证

来自分类Dev

Firefox将Google Searchplugin修改为不进行国家重定向

来自分类Dev

如何在Laravel中传递验证错误以查看而不进行重定向

来自分类Dev

避免使用SSL进行登录页面重定向

来自分类Dev

根据表单的文本输入进行HTML页面重定向

来自分类Dev

使用jquery进行页面重定向后检索输入数据

来自分类Dev

进行重定向时获取请求页面名称或网址

来自分类Dev

返回404页面,无需重定向

来自分类Dev

返回附件响应后重定向到成功页面

来自分类Dev

如果php返回true,则重定向页面jQuery ajax

来自分类Dev

在liferay中,如何重定向到登录页面并返回?

来自分类Dev

返回页面时Angular 2重定向网址

来自分类Dev

PHP 重定向 5 秒,然后返回原始页面

Related 相关文章

  1. 1

    从IHttpHandler返回Razor(cshtml)页面而不进行重定向

  2. 2

    htaccess加载页面B而不是页面A而不进行重定向

  3. 3

    从CSHTML页面重定向

  4. 4

    如何在razor视图.cshtml中重定向页面?

  5. 5

    写入文件而不进行重定向?

  6. 6

    引导程序验证成功后,如何使用$ .post提交表单而不进行页面重定向?

  7. 7

    如何提交HTML表单而不进行重定向

  8. 8

    通过javascript提交表单而不进行重定向

  9. 9

    无法打开页面进行多次重定向

  10. 10

    无法打开页面进行多次重定向

  11. 11

    使用AIML进行页面重定向

  12. 12

    返回 RedirectToAction 不从登录页面重定向

  13. 13

    重定向到OnPost中特定位置的Razor页面

  14. 14

    ASP.NET Core 3.1 Razor页面:如何自动从“索引”页面重定向到“登录”页面?

  15. 15

    如何从Process.StandardOutput读取而不进行重定向?(F#)

  16. 16

    尝试将轮播添加到网页而不进行重定向

  17. 17

    Firebase身份验证在重定向时不进行身份验证

  18. 18

    Firefox将Google Searchplugin修改为不进行国家重定向

  19. 19

    如何在Laravel中传递验证错误以查看而不进行重定向

  20. 20

    避免使用SSL进行登录页面重定向

  21. 21

    根据表单的文本输入进行HTML页面重定向

  22. 22

    使用jquery进行页面重定向后检索输入数据

  23. 23

    进行重定向时获取请求页面名称或网址

  24. 24

    返回404页面,无需重定向

  25. 25

    返回附件响应后重定向到成功页面

  26. 26

    如果php返回true,则重定向页面jQuery ajax

  27. 27

    在liferay中,如何重定向到登录页面并返回?

  28. 28

    返回页面时Angular 2重定向网址

  29. 29

    PHP 重定向 5 秒,然后返回原始页面

热门标签

归档