سؤال

<document.write("<SCR"+"IPT TYPE='text/javascript' SRC='"+"http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+"/"+gDcsId+"/wtid.js"+"'><\/SCR"+"IPT>");

وأنا بحاجة للهروب من سلسلة أعلاه، من أجل إضافة كل شيء لب StringBuilder ولكن حتى الآن لا بد لي أن يكون في عداد المفقودين شيئا لإنهاء سلسلة غير صحيح ...

هل كانت مفيدة؟

المحلول

string x = @"<document.write(""<SCR""+""IPT TYPE=""'text/javascript' SRC='""+""http""+(window.location.protocol.indexOf('https:')==0?'s':'')+""://""+gDomain+""/""+gDcsId+""/wtid.js""+""'><\/SCR""+""IPT>"");";

وو @بادئة يجعل الهروب بساطة. لديك فقط لتشغيل كل "إلى" ".

وسوف تجد البرنامج أسهل بكثير للحفاظ إذا قمت بتخزين جافا سكريبت في ملف خارجي. أفترض أنك تستخدم ب StringBuilder حتى تتمكن من مزج أجزاء من السيناريو مستمر مع عدد قليل من القيم الديناميكية؟ هل يمكن الكتابة عليه في ملف ولكن وضعت هروب من هذا القبيل للقيم ديناميكية:

var fromCSharp = {0};

وبعد ذلك في وقت التشغيل، تحميل الملف JS واعطائها الى string.Format كسلسلة شكل، جنبا إلى جنب مع القيم لتحل محل كل قوع {0}، {1}، وما إلى ذلك تحتاج فقط إلى تحميل السلسلة شكل من الملف مرة واحدة وابقائه مؤقتا.

وأيضا إذا القيم التي يتم إدخالها في جافا سكريبت هي نفسها سلسلة حرفية، سوف تحتاج إلى الهروب منها وفقا لجملة من جافا سكريبت.

نصائح أخرى

ويجب عليك أن تحاول شيئا من هذا القبيل:

@"<document.write(""<SCR""+""IPT TYPE='text/javascript' SRC='""+""http""+(window.location.protocol.indexOf('https:')==0?'s':'')+""://""+gDomain+""/""+gDcsId+""/wtid.js""+""'><\/SCR""+""IPT>"");"

عند التقديم سلسلة حرفية مع @ ومهربا يحتاج فقط هو مضاعفة "كاراكتير.

وهذا الأمل مساعدة.

والسلسلة في البداية هو ما أريد بالضبط ... (انا لا الخلط بين جافا سكريبت مع C # - أنا فقط بحاجة إلى إضافة سلسلة لفي C # ب StringBuilder التي كتبها coincidance يحتوي على بعض جافا سكريبت)

ولها برنامج نصي خارجي لا بد لي من وضع على الصفحة، وذلك باستخدام ب StringBuilder (لأسباب مختلفة).

وليس لدي أي وسيلة لمعرفة إذا أية تغييرات على السيناريو سوف يجعل من الفشل لذلك يجب أن يشمل الأمر كما هو ...

وانها خط 1 فقط من النص الكلي، ولكن معظم خطوط أخرى لقد تمكن من الفرار بشكل صحيح ويتم تضمينها كما يريد ...

وأعتقد أنك الخلط بين ما هو JavaScript وما هي C#. هل يمكن أن تقولوا لنا السلسلة التي هي السلسلة التي تحاول تحقيق ...

وعلى سبيل المثال

وwindow.location.protocol.indexOf('https:') هو JavaScript

ولكن من المفترض

وgDomain وgDcsId

ومتغيرات من طريقة C# بك

وربما هذا:

"<SCRIPT TYPE='text/javascript' SRC='"+"http"+"(window.location.protocol.indexOf('https:')==0?'s':'')"+"://" + gDomain + "/"+ gDcsId+ "/wtid.js"+"'></SCRIPT>")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top