Почему вы пытаетесь избежать этого? Этот код должен запускаться внутри ASP.NET с использованием декларативного синтаксиса, вам не нужно ничего избегать, или, может быть, я чего-то не хватает? Попробуйте следующее:
<img src='
<%=WebUtilityMethods.GetRoot() +
"skins/xxx/images/document.gif" %>'
border="0">
EDIT: это был оригинальный вопрос. Вот для новой задачи (вопрос был полностью изменен). Он не содержал никаких ошибок, но было трудно читать со всеми ""
, поэтому я заменил его. Не уверен, что вы после этого, мне кажется, что вы пытаетесь использовать истолковано декларативный синтаксис внутри кода позади, что невозможно, извините:
// slightly more readable:
const string postdescWithComments =
@"
<span class='footerLeft'>
posted on <a href='{0}' title = 'Permanent link to this post'>{1}</a>
</span>
<span class='footerRight'>
<a href='{2}#feedback'
title='comments, pingbacks, trackbacks'
class='comments'>
<img class='feedbackimage'
src='/skins/pmall/images/cloud.gif' width='13'
height='12' border='0' />
Comments({3})
</a>
<a href='{0}' class='moreimage' title = 'Permanent link to this post'>
<img src='{4}skins/xxx/images/document.gif' border='0'>
More
</a>
</span>";
// somewhere else, this is where your GetRoot() goes:
string parsedString = String.Format(
postdescWithComments,
href,
hrefText,
hrefFeedback,
feedbackText,
WebUtilityMethods.GetRoot());
EDIT: как вы выяснили, что очень сложно проверить код (например, когда он находится на одной строке, как в вашем исходном сообщении) для ошибок. Если возможно, переместите код в декларативный раздел (часть, где находится HTML-страница вашей страницы). Затем вы можете использовать синтаксис <%=
и в качестве бонуса вы получите автоматическую проверку синтаксиса HTML.
Если это невозможно, вы должны заменить часть <%=...%>
на {4}
и использовать String.Format, чтобы заполнить пробелы, так же, как и с другими частями.
EDIT: (!) Это последнее замечание, и хорошо пятнистый закрытия цитата из Agent_9191 отражены в блоке кода для ясности.
Что вы получите? –