Visual Studio ASP.Net expand and collapse issue in ashx generic handlers

邮差的信 提交于 2019-11-30 08:40:39

You can force Visual Studio to ignore the fact that it's code in front you're working with by going to:

Tools | Options

And opening the "Text Editor | File Extensions" tab.

Create a new entry for extension "ashx", mapped to editor "Microsoft Visual C#" (or "Microsoft Visual Basic", as your preference takes you), and "Add" it.

OK the dialog, close and re-open your ashx file, and your code blocks willl collapse to your hearts content, but the @ directive will be rather ugly.

You have the same issue if you have serverside script in the .aspx file (for example in a web site project and you don't "Place code in a seperate file"), then you cannot collapse the class blocks in there either.

bigEsmurf

Create a class in the App_Code directory, which the ashx-file just references... like this:

SomethingHandler.ashx:

<%@ WebHandler Language="C#" Class="SomethingHandler" %>

And in the App_Code folder I've created the file SomethingHandler.cs with class SomethingHandler

using System;
using System.Web;
// using blabla...

public class SomethingHandler : IHttpHandler
{
        public void ProcessRequest(HttpContext c)
        {
    etc...

Now I can just open SomethingHandler.cs, edit my C# code with #region collapsing, because the .cs file is opened in the right editor :)

@ WebHandler docs

Tested in VS 2019.

Just select a fragment of code, like:

using System;
using System.Web;
using System.Web.Security;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

Then Press "Ctrl+M+H" and Vualá... The Outlining Working Now... And Intellisense Too...

To Stop Outlining Press "Ctrl+M+P"...

Kaspars

Add /// in front of first line.

Like this:

///<%@ WebHandler Language="C#" Class="FooBar"%>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!