Как вставить кавычку в строку с переменными в C # - PullRequest
0 голосов
/ 10 ноября 2010

Я хочу сгенерировать строку, подобную приведенной ниже в коде C #:

<a href="~/Online Exam/Question.aspx?id=1"></a>

Код, который я сейчас использую, показан ниже:

string url= string.Format("\"~/Online Exam/Question.aspx?id={0}\"", id);
td.Text = "<a href=" + url + ">" + id + "</a>";

, ноЯ не могу получить желаемый результат с помощью приведенного выше кода.пожалуйста, помогите мне с этим.

Ответы [ 2 ]

5 голосов
/ 10 ноября 2010

Используйте

string url= String.Format("~/Online Exam/Question.aspx?id={0}", id);
td.Text = String.Format("<a href=\"{0}\">{1}</a>", url, id);

или если вы заботитесь о производительности String.Format() (из-за особенностей культуры):

string url= String.Concat("~/Online Exam/Question.aspx?id=", id);
td.Text = String.Format("<a href=\"{0}\">{1}</a>", url, id);
<ч />

Правильно! Поскольку <a> не анализирует ~ как корень приложения, только <asp:HyperLink>. Так

td.Controls.Add(new HyperLink { Text = id, NavigateUrl= url });
0 голосов
/ 10 ноября 2010

Вы можете попытаться установить кавычку в последней строке, например:

string url= string.Format("~/Online Exam/Question.aspx?id={0}", id);
td.Text = "<a href=\"" + url + "\">" + id + "</a>";

Делает код также более логичным, поскольку ваша переменная url теперь действительно содержит только URL.

(не тестировалось)

...