我有一个带有TemplateField内部超链接的gridview。 NavigateUrlFormat将从Web.Config文件中填充,它具有以下格式:
mysite.com/ {0}
但是,如果将从gridview数据源填充{0},则我当前的代码不起作用:
<asp:TemplateField HeaderText="WorkOrder #">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("WorkOrderKey", "<%$ AppSettings:DispatchLink %>") %>'
Text='<%# Eval("WorkOrderKey") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
问题出在“AppSettings:DispatchLink”之后,它会在看到“%&gt;”时关闭标记。有没有解决这个问题的方法?
谢谢你, 肯尼。
答案 0 :(得分:1)
您无法嵌套&lt;%#和其他标记。请改用ConfigurationManager.AppSettings [“DispatchLink”](请参阅MSDN中的lookup correkt Class / Property)。
或者:如果您不止一次使用该HyperLink Control,我建议您创建一个派生自System.Web.UI.WebControls.HyperLink的MYHyperLink,并在构造函数中设置Property NavigateUrlFormatString。
这样的事情:
public class DispatchLink : System.Web.UI.WebControls.HyperLink
{
public DispatchLink()
{
this. NavigateUrlFormatString = ConfigurationManager.AppSettings["DispatchLink"]
}
}