在运行时解析代码块(C#)

时间:2011-02-03 17:36:12

标签: c# asp.net dynamic

第一次在这里发帖,

我正在编写一个动态控件,我想传递以下内容:

HyperLink myLink = new HyperLink();  
myLink.NavigateUrl = "/Home.aspx?id=<%= DataBinder.Eval(\"PageId\") %>";  
myLink.Text = "The link";  
myControl.Controls.Add(myLink);  

我希望能够根据myControl最终将控件放入的上下文在运行时解析myLink.NavigateUrl(这不是WebControl,因此添加到控件集合不会输出到页)。

2 个答案:

答案 0 :(得分:1)

这个问题对我没有任何意义。你应该知道此时的PageId是什么,所以你可以这样做:

HyperLink myLink = new HyperLink();  
myLink.NavigateUrl = "/Home.aspx?id=" + PageId;  
myLink.Text = "The link";  
myControl.Controls.Add(myLink);  

如果由于某种原因你不能这样做,请提供您正在处理的实际需要的代码。您发布的示例过于简化,无法向我们展示问题所在。

答案 1 :(得分:0)

效率更高:

HyperLink myLink = new HyperLink();
myLink.NavigateUrl = string.Concat("/Home.aspx?id=", PageId);
myLink.Text = "The link";
myControl.Controls.Add(myLink);