2008-12-11 9 views
11
ashx में इस मुद्दे को पतन

मैं विजुअल स्टूडियो 2008 व्यावसायिक और मैं ASP.Net जेनेरिक हैंडलर पन्नों में विस्तार और गिर विधि कोड ब्लॉक (.ashx)दृश्य स्टूडियो ASP.Net का विस्तार करने और सामान्य संचालकों

मैं के साथ मुद्दों कर रहा हूँ सोचा होगा कि आप .aspx वेब पृष्ठों के पीछे कोड में वही काम कर सकते हैं।

मेरे पास वीएस 2008 मानक और वीएस 2005 प्रोफेशनल के साथ भी अन्य बॉक्स पर एक ही समस्या है। सभी बक्से पूरी तरह से पैच किए गए हैं (ओएस और विजुअल स्टूडियो।)

क्या किसी के पास इस सुविधा को सक्षम करने के लिए कोई सुझाव है?

+0

ग्रेट सवाल। मुझे उम्मीद है कि कोई और बेहतर जवाब के साथ आ सकता है, हालांकि। मेरी परेशानी यह है कि एएसएचएक्स फाइलों को संपादित करते समय, एच # एचटीएमएल के लिए कोड इंडेंटेशन प्राथमिकताएं सी # सेटिंग्स के बजाय उपयोग की जाती हैं। – Jacob

उत्तर

19

आप तथ्य यह है कि यह सामने कोड आप इस पर जाकर के साथ काम कर रहे हैं की अनदेखी करने के दृश्य स्टूडियो के लिए मजबूर कर सकते हैं:

उपकरण | विकल्प

और "टेक्स्ट संपादक | फ़ाइल एक्सटेंशन" टैब खोलना।

एक्सटेंशन "एएसएक्स" के लिए एक नई प्रविष्टि बनाएं, संपादक "माइक्रोसॉफ्ट विजुअल सी #" (या "माइक्रोसॉफ्ट विजुअल बेसिक" के रूप में मैप किया गया है, क्योंकि आपकी वरीयता आपको ले जाती है), और "इसे जोड़ें"।

संवाद ठीक करें, अपनी एएसएक्स फ़ाइल को बंद करें और फिर से खोलें, और आपके कोड ब्लॉक आपके दिल की सामग्री में पतन हो जाएंगे, लेकिन @ निर्देश बदसूरत होगा।

यदि आपके पास .aspx फ़ाइल में सर्वरसाइड स्क्रिप्ट है (उदाहरण के लिए एक वेब साइट प्रोजेक्ट में और आप "एक अलग फ़ाइल में कोड रखें" नहीं), तो आप क्लास ब्लॉक को पतन नहीं कर सकते हैं, तो आपके पास एक ही समस्या है। वहां या तो

+1

और बाद में, 'वेबहैंडलर' निर्देश के बारे में दृश्य स्टूडियो की चमक को रोकने के लिए, बस लाइन पर टिप्पणी करें, यह काम करेगा जैसे कि यह नहीं है! –

+4

यह पूरी तरह से रूपरेखा को ठीक करता है, लेकिन दुर्भाग्य से इंटेलिजेंस – MaxPRafferty

+1

तोड़ता है यह मेरी मशीन (बनाम2012) –

9

हाँ, एक अलग समाधान है;) मैंने कोड को एक अलग .cs फ़ाइल में डालने की कोशिश की है जैसा कि आप .aspx फ़ाइलों के साथ कर सकते हैं, लेकिन यह संभव नहीं था।

something.ashx:

<%@ WebHandler Language="C#" Class="Something" %> 
public class Something : cSomething {} 

और में तो जिस तरह से मैं अब इस संभाला कि मैं इस तरह AppCode निर्देशिका, जो ashx फाइल सिर्फ फैली में एक वर्ग ... बनाया है है AppCode-फ़ोल्डर मैं फ़ाइल cSomething.cs

using.. blabla 
public class wsaXmlComm : IHttpHandler 
{ 
    public cSomething() 
    { 
    } 
    public void ProcessRequest(HttpContext c) 
    { 
etc... 

अब बना लिया है मैं कर सकते हैं बस खुले cSomething.cs, #region गिर, .cs फ़ाइल सही संपादक में खोला गया है, क्योंकि के साथ मेरी सी # कोड को संपादित :)

+1

पर इंटेलिजेंस तय करता है यह एक बहुत ही साफ छोटा समाधान है :) –

+0

अद्भुत समाधान <3 –

3

पहली पंक्ति के सामने /// जोड़ें।

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

मेरे लिए कामकाजी काम, पहले वीएस हो सकता है? – Dementic

+0

यह केवल तभी काम करेगा यदि आप "उपकरण/विकल्प/टेक्स्ट संपादक/फ़ाइल एक्सटेंशन" टैब पर "माइक्रोसॉफ्ट विजुअल सी #" संपादक में "एएसएक्स" मैप किए गए एक्सटेंशन को जोड़ते हैं। –

1

वैसे ही जैसे, कोड का एक टुकड़ा का चयन करें::

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

फिर प्रेस "Ctrl + M + H" और Vualá ... बाह्य रेखांकन कार्य अब

इस तरह

... और Intellisense बहुत ...

प्रेस आउटलाइनिंग रोकने के लिए "Ctrl + एम + पी" ...

+0

यह सबसे अभ्यास समाधान है जो मैंने पाया। –

संबंधित मुद्दे