Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8270159
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T06:29:26+00:00 2026-06-08T06:29:26+00:00

I have a custom IHttpHandler that im using to call my controller in MVC3.

  • 0

I have a custom IHttpHandler that im using to call my controller in MVC3. Problem is that when I call View(“~/path/to/my/view.cshtml”) I get nothing. No error. Nothing, just empty source and a 200 ok.

Since im calling this my self is there some part of the view life-cycle that’s not getting started?

IHttpHandler:

public class MyHttpHandler : IHttpHandler
{
    ISimpleController _c;

    public SimpleHttpHandler(Controller c)
    {
        _c = c;
    }

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        _c.Get();
    }

Code from controller:

    public new ActionResult Get()
    {
        ViewBag.Proof = "Ping";
        ViewBag.Of = "Pong";
        ViewBag.Life = "Fizz";
        return View("~/Views/Shared/WhatAView.cshtml");
    }

WhatAView.cshtml:

<ul>
@foreach(var pair in ViewData)
{
   <li>@pair.Key : @pair.Value</li>
}
</ul>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T06:29:28+00:00Added an answer on June 8, 2026 at 6:29 am

    The only thing you need is to call ExecuteResult() on your ActionResult. This will force rendering of your view. This is what MVC Framework does after it retrieves ActionResult from a controller.

    _c.Get().ExecuteResult(_c.ControllerContext);
    

    It’s important that you implemented controller properly w/ valid ControllerContext. I have decompiled ViewResultBase.ExecuteResult() using dotPeek:

    public override void ExecuteResult(ControllerContext context)
    {
      if (context == null)
        throw new ArgumentNullException("context");
      if (string.IsNullOrEmpty(this.ViewName))
        this.ViewName = context.RouteData.GetRequiredString("action");
      ViewEngineResult viewEngineResult = (ViewEngineResult) null;
      if (this.View == null)
      {
        viewEngineResult = this.FindView(context);
        this.View = viewEngineResult.View;
      }
      TextWriter output = context.HttpContext.Response.Output;
      this.View.Render(new ViewContext(context, this.View, this.ViewData, this.TempData, output), output);
      if (viewEngineResult == null)
        return;
      viewEngineResult.ViewEngine.ReleaseView(context, this.View);
    }
    

    You see that this method renders the view into ControllerContext.HttpContext. Ensure that HttpContext is avalaible from within your controller.

    As seen above you still can use raw rendering:

      TextWriter output = context.HttpContext.Response.Output;
      var viewResult = (ViewResult)_c.Get();
      viewResult.View.Render(new ViewContext(_c.ControllerContext, viewResult.View, viewResult.ViewData, viewResult.TempData, output), output);
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have custom code inside of a SSRS report that needs to get the
I have an assembly that acts as a custom HttpHandler (implements IHttpHandler and is
I have custom classes that I currently instantiate within App.xaml as resources. I want
We have custom headers in the Silverlight DataGrid using the ContentTemplate. We've got a
I have custom event that has several different subscribers who will all use the
I have custom gallery. Gallery represents items that are frame layout. There are one
I have custom component that I can place in my layout file (XML) for
I have a custom IHttpHandler which is used by thick clients to download files
I have custom drupal module. I receive result from a webservice that I need
I have custom SiteMapProvider and RoleProvider that works together properly: IsAccessibleToUser returns false if

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.