如何在包含C#中的变量的字符串中插入引号

时间:2010-11-10 08:25:12

标签: c# .net string hyperlink escaping

我想在后面的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 个答案:

答案 0 :(得分:5)

使用

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 }); 。所以

{{1}}

答案 1 :(得分:0)

您可以尝试在最后一行设置引号,例如:

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

使代码更具逻辑性,因为您的变量url现在实际上只包含网址。

(未经测试)