Используйте
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 });