2012-02-23 11 views
5

Chcę zdefiniować długi ciąg i używać go jako parametru w klasie pomocnika.Definiowanie długiego łańcucha w Razor

Mam następujący kod, który nie kompiluje

@{ 
var code =" 
new TEL_Helper 
{ 
    URI = "[email protected]", 
    Type = TEL_TelecomType.Email, 
    Use = TEL_TelecomUse.VacationHome 
}" 

Html.SyntaxXML(code) 
} 

Jak mogę określić łańcuch, który obejmuje wiele linii i ma podziałów wierszy.

i roztwór Kiedyś było:

@{ 
var code [email protected]" 
new TEL_Helper 
{ 
    URI = '[email protected]', 
    Type = TEL_TelecomType.Email, 
    Use = TEL_TelecomUse.VacationHome 
}"; 

Html.SyntaxXML(code); 
} 

Odpowiedz

7

Patrzysz na standardowej C# ciąg verbatim dosłownym.

  var code = @" 
new TEL_Helper 
{ 
    URI = ""[email protected]"", 
    Type = TEL_TelecomType.Email, 
    Use = TEL_TelecomUse.VacationHome 
}" 
+0

Próbowałem tego, nadal próbuje dopasować "}" w definicji łańcucha do otworu "{" w bloku kodu. –

+0

@BENBUNCoder: Wtedy popełniasz gdzieś błąd; Razor wspiera to. Sprawdź zagnieżdżone cytaty. – SLaks

+0

@BENBUNCoder Kiedy używasz składni @ verbatim, zagnieżdżone cudzysłowy w twoim ciągu muszą zostać zmienione przez użycie drugiego ", więc w przykładzie SLaksa musisz zrobić" "[email protected]" "jak on pokazuje." – Dismissile

0

Wystarczy przerwać łańcuch się na kawałki i złączyć:

@{ 
    var code = 
     "new TEL_Helper " + 
     "{ " + 
      "URI = \"[email protected]\"," + 
     "}"; 
} 

Nie zapomnij uciec swoje notowania w ciąg.

+1

yuk. Wydaje mi się, że odpowiada na pytanie, ale jest tak uciążliwe, że kopiowanie/wklejanie z innych źródeł jest niemożliwe (ale nie -1) – ekkis