2009-11-16 6 views
5

हम अपनी साइट में ASPX की hudrends और HTML फ़ाइल मिल गया है, और प्रत्येक फ़ाइल के अंत में एक छोटा सा जावास्क्रिप्ट इंजेक्षन करना चाहते हैं। किसी भी स्पष्ट समस्याओं कर रहे हैं वहाँ - अगर मैं करना चाहता था इस इस करते हैं का उपयोग करने और HttpModule (कुछ नया सीखने की कोशिश कर रहा), होगा?ASP.NET: सभी प्रतिक्रिया में इंजेक्शन सामग्री धाराओं

public void Init(HttpApplication context) 
{ 
    context.BeginRequest += new EventHandler(context_BeginRequest); 
} 

void context_BeginRequest(object sender, EventArgs e) 
{ 
    var context = HttpContext.Current; 

    if (!isAspxOrHtmlFile(context.Request.Path) 
    { 
     return; 
    } 

    var javascript = ... 

    using (var writer = new StringWriter()) 
    { 
     context.Server.Execute(context.Request.Path, writer); 
     context.Response.ContentType = "text/html"; 
     context.Response.Write(writer.GetStringBuilder().ToString() + javascript); 
    } 

    context.Response.End(); 
} 

उत्तर

4

आप शायद जानते आसान तरीका है कि ऐसा करने के लिए, अपनी वेबसाइट मास्टर पृष्ठ फ़ाइल पर स्थिर कस्टम उपयोगकर्ता नियंत्रण का उपयोग करने के लिए है सिर्फ पुराने लघु उद्योग की तरह फ़ाइलों में शामिल हैं, है ना?

HttpModule के बारे में, आप सामग्री है जो HTML नहीं है, लेकिन आप पहले से ही isAspxOrHtmlFile() का उपयोग करके इस को दूर लगता है के लिए पता होना चाहिए। मुझे ठीक लगता है।

+1

हाँ, मैं मैं सिर्फ HttpModules से परिचित कराने के लिए एक उदाहरण के रूप में इस का उपयोग कर रहा है वहाँ यह करने के लिए एक बेहतर तरीका है यकीन है,। धन्यवाद :) – JamesBrownIsDead