title: Render raw html from view component
body: <p>For very simple ViewComponents I'd like to bypass a view and just return an encoded HTML string. </p>
  
  <p>Example:</p>
  
  <pre><code>&lt;ul&gt;
     &lt;li&gt;One&lt;/li&gt;
     &lt;li&gt;Two&lt;/li&gt;
  &lt;ul&gt;
  </code></pre>
  
  <p>My self-made implementation is like this: </p>
  
  <pre><code>public class RawHtmlResult : IViewComponentResult
  {
      public RawHtmlResult(string EncodedHtml)
      {
          _encodedHtml = EncodedHtml;
      }
      public string _encodedHtml { get; set; }
  
      public void Execute(ViewComponentContext context)
      {
          context.Writer.Write(_encodedHtml);
      }
  
      public Task ExecuteAsync(ViewComponentContext context)
      {
          return context.Writer.WriteAsync(_encodedHtml);
      }
  }
  </code></pre>
  
  <p>Usage: </p>
  
  <pre><code>public async Task&lt;IViewComponentResult&gt; InvokeAsync(long id)
  {
      var someArray = await _someService(id);
      var ulHelper = new TagBuilder("ul");
      var liHelper = new TagBuilder("li");
  
      foreach (var setName in someArray)
      {
          liHelper = new TagBuilder("li");
          liHelper.InnerHtml.Append(setName);
          ulHelper.InnerHtml.Append(liHelper);
      }
      var writer = new System.IO.StringWriter();
      ulHelper.WriteTo(writer, new HtmlEncoder());
  
      return new RawHtmlResult(writer.ToString());
  }
  </code></pre>
  
  <p>So far I have not found a suitable IViewComponentResult. Do I miss apoint?</p>