2011-02-02 12 views
12

मैं अपने एमवीसी प्रोजेक्ट में गोलाकार कोने पैनल प्रस्तुत करने के लिए Css3pie का उपयोग करने का प्रयास कर रहा हूं लेकिन अभी तक कोई भाग्य नहीं है।css3pie, pie.htc फ़ाइल कहां रखें?

मैं सामान्य HTML पृष्ठ के साथ नमूना का पालन करता हूं और यह पूरी तरह से काम करता है लेकिन मेरे एमवीसी प्रोजेक्ट में नहीं। मुझे लगता है कि यह 'pie.htc' फ़ाइल के पथ से कुछ करना है जो एमवीसी

में प्रोजेक्ट किया जा रहा है, मैं प्रोजेक्ट फ़ोल्डर (रूट) में और pie ct फ़ाइल में 'pie.htc' फ़ाइल डालता हूं, मैं उपयोग करता हूं: व्यवहार: यूआरएल (/PIE.htc);

मुझे लगता है कि एमवीसी राउटर को एचटीसी फ़ाइल एक्सटेंशन को स्वीकार करने के लिए संशोधित करने की आवश्यकता है? क्षमा करें एमवीसी के साथ नया नया। क्या किसी ने pie.htc की कोशिश की है और इसे एमवीसी प्रोजेक्ट में काम कर रहा है, कृपया मदद करें?

धन्यवाद!

उत्तर

16

की RegisterRoutes(RouteCollection routes) विधि एक पक्ष नोट के रूप में करने के लिए निम्न जोड़े (और शायद यह वैसे भी आपकी समस्या का समाधान होगा) यदि आप पर .htc फ़ाइल है नहीं करना चाहती अपने जड़, आप व्यवहार के साथ संबंधित सापेक्ष पथिंग मुद्दों के आसपास पाने के लिए निम्नलिखित कर सकते हैं। यह सबसे सुंदर समाधान नहीं है, लेकिन यह अच्छी तरह से काम करता है -

अपने सीएसएस में, व्यवहार को परिभाषित के रूप में:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    CheckForCSSPIE(); 
} 

private void CheckForCSSPIE() 
{ 
    if (!Regex.IsMatch(Request.Url.ToString(), "CSS3PIE")) 
    { 
     return; 
    } 

    const string appRelativePath = "~/Content/css/PIE.htc"; 
    var path = VirtualPathUtility.ToAbsolute(appRelativePath); 
    Response.Clear(); 
    Response.StatusCode = (int)HttpStatusCode.MovedPermanently; 
    Response.RedirectLocation = path; 
    Response.End(); 
} 

यह: behavior: url(CSS3PIE);

अपने Global.asax.cs में फिर

निम्नलिखित कोड है बस "CSS3PIE" से मेल खाने वाले किसी भी अनुरोध की तलाश करेगा और सही स्थान से .htc फ़ाइल लौटाएगा।

+0

यह मेरे लिए काम करता प्रतीत होता है जब मेरे रूट यूआरएल के अंत में/मेरे पास नहीं है। जैसे "http: // सर्वर/ऐप /" काम करता है लेकिन "http: // सर्वर/ऐप" विफल रहता है। अन्य पृष्ठ ठीक हैं, बस जड़ जो गलत है। कोई सुझाव? –

1

Global.asax फ़ाइल

routes.IgnoreRoute("pie.htc"); 
+0

ये मैं कोशिश की है कि शुरू में लेकिन फ्लॉप काम की उम्मीद – BeCool

+0

अगली बार यह क्यों काम करेगा, और वास्तव में यह क्या करेंगे के बारे में अधिक तर्क दे कृपया के रूप में अन्यथा यह उत्तर वास्तव में कुछ भी हल नहीं करता है। – sksallaj

0

अपने स्टाइलशीट में, जोड़ने के निम्नलिखित behavior:

behavior: url("/Content/PIE/PIE.css") 
संबंधित मुद्दे