Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用字符串生成器绘制超链接_C#_Asp.net_Stringbuilder - Fatal编程技术网

C# 在C中使用字符串生成器绘制超链接

C# 在C中使用字符串生成器绘制超链接,c#,asp.net,stringbuilder,C#,Asp.net,Stringbuilder,通过以下方式创建超链接时,我希望使用stringbuilder在C中绘制超链接: StringBuilder HTMLCurrBuilder = new StringBuilder(); HyperLink lnk = new HyperLink(); lnk.Text = GetGlobalResourceObject("Registration", "download").ToString(); lnk.NavigateUrl = DataVal; HTMLCurrBuilder.Appe

通过以下方式创建超链接时,我希望使用stringbuilder在C中绘制超链接:

StringBuilder HTMLCurrBuilder = new StringBuilder();
HyperLink lnk = new HyperLink();
lnk.Text = GetGlobalResourceObject("Registration", "download").ToString();
lnk.NavigateUrl = DataVal;

HTMLCurrBuilder.Append(lnk );

在c中没有任何方法可以做到这一点,您必须使用占位符,并将此链接添加到占位符控件中

 cPlaceHolderID.Controls.Append(lnk );
然后将占位符放在页面中的某个位置,就得到了呈现的结构

StringBuilder只构建字符串,而不是html结构

备选方案一 您可以简单地构建链接

HTMLCurrBuilder.AppendFormat("<a href=\"{0}\">{1}</a>",DataVal,
   GetGlobalResourceObject("Registration", "download"));
这是一种非常快速的方法,您在stringBuilder中获得的结果与您赢得的结果相同。实际上,超链接和超链接做了类似的事情

备选方案二
您可以渲染控件,并将结果添加到strinbuilder,但它太多了。

您说它什么意思?请阅读并澄清您的问题。System.Web.UI.WebControls.HyperLink好的,这是在超链接上调用ToString的结果。为什么要将web控件与StringBuilder一起使用?这不是它们的设计用途。什么是GetGlobalResourceObject?在对象上调用ToString时,它通常返回类的限定名,因为大多数对象不能合理地表示为字符串。只有重写ToString的类才会返回一个合理的字符串值。你期望发生什么?我正在使用web控件,因为我想有另一个应用程序,我想在其中绘制此hyber链接,所以我将其发送了链接数组。问题是我正在运行时绘制此部分,因此如果我尝试显示此控件,我将找不到it@EslamSoliman所有这些解决方案都是在运行时实现的。前两个你不明白的地方是什么?撇开备选方案不谈,谢谢我被占位符控件使用了,但它现在已经启动并工作了