Q:

asp:hyperlink href won't show up even though i populate navigateurl

Does anyone know what is wrong with the following two lines of code?   In both cases, there is no href in the anchor links when i view it in the browser:
<asp:HyperLink runat="server" NavigateUrl='<%# Eval(Request. QueryString["conferenceId"], "~/Cms/schedule-edit.aspx?conferenceId={0}&type=workshopStream") %>' Text="Create Workshop Stream"></asp:HyperLink>

<asp:HyperLink runat="server" NavigateUrl='<%# String. Format("~/Cms/schedule-edit.aspx?conferenceId={0}&type=scheduleItem", Request. QueryString["conferenceId"]) %>' Text="Create Schedule Item"></asp:HyperLink>

This exact same code seems to work fine when I put it into the ItemTemplate of a Listview though.   But it doesn't work when used on it's own in an aspx file. 
What's wrong with it? 
Also if i replace the navigateUrl with a hardcoded string ~/cms/schedule-edit.aspx?conferenceId=2&type=stuff then the href shows up.   It just doesn't work when i have the Eval or String. Format in there. 

A:

If those HyperLink server controls are located outside of DataBound controls like GridView, there are two problems in our code -

You want to use <%= %> instead of <%# %> which is used in DataBound controls. 
You cannot use <%= %> to set property of a server control.  Basically, you cannot mix runat="server" with <%= %>. 

Solution
<a href='<%= String. Format("~/Cms/schedule-edit.aspx?conferenceId={0}&type=scheduleItem", 
    Request. QueryString["conferenceId"]) %>'>Create Workshop Stream</a>

