14
Łączę kilka linii w JavaScript za pomocą Razor. Sądziłem, że najłatwiej będzie najpierw złożyć cały blok JavaScript, a potem wypisać całą rzecz. Problem polega na tym, że pojedyncze cytaty są renderowane jako & # 39 ;.Wyjście pojedyncze cudzysłowy w Razor generowane JavaScript Ciąg
Czy jest możliwe, aby zmienić ostatni wiersz, aby to napisać poprawnie:
var friendArray = new Array();
@{
int i = 0;
string jsString="";
foreach(var friend in friends)
{
jsString = jsString + "friendArray[";
jsString = jsString + i.ToString();
jsString = jsString + "]='";
jsString = jsString + friend.displayname;
jsString = jsString + "';";
i++;
}
@jsString;
}
Powyższy generuje to:
friendArray[0]=& #39;Hollister& #39;;friendArray[1]=& #39;Festus& #39;;
To działa. Właściwie próbowałem go wcześniej, ale nie sądziłem, że muszę poprzedzić @, więc nic nie napisałem. Dzięki. – Dave
@Dave: Tak, bez niego jesteś w trybie C#, więc tryb force/html @ w rzeczywistości wyprowadza wyniki. –
Jest to możliwa metoda wstrzykiwania skryptu, jeśli jsString nie jest zaufany. Bądź bardzo ostrożny. – Bon