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

这一生的挚爱 提交于 2020-01-10 14:02:15

问题


I have Visual Studio 2008 Professional and I am having issues with expanding and collapsing method code blocks in ASP.Net Generic Handler pages (.ashx)

I would have thought you could do the same thing like in the code behind of .aspx web pages.

I have this same issue on other boxes even with VS 2008 Standard and VS 2005 Professional. All boxes have been fully patched (OS and Visual Studio.)

Does anybody have any suggestions as to enabling this feature?


回答1:


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.




回答2:


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.




回答3:


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"...




回答4:


Add /// in front of first line.

Like this:

///<%@ WebHandler Language="C#" Class="FooBar"%>


来源:https://stackoverflow.com/questions/359528/visual-studio-asp-net-expand-and-collapse-issue-in-ashx-generic-handlers

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