格式化服务器标记以进行数据表绑定

时间:2012-04-25 10:19:36

标签: asp.net hyperlink datalist

我在aspx页面上写的是

<asp:HyperLink ID="HyperLink1" runat="server" 
 NavigateUrl="~/Comp/Default.aspx?abc=71&xyz=<%# DataBinder.Eval(Container.DataItem,"TeamId") %>"
>

希望在结果标记中创建一个超链接,但在解析时会给出错误。

我尝试了所有可能的引号和尖括号的组合,没有任何帮助。

2 个答案:

答案 0 :(得分:1)

  1. 我最后错过了/>
  2. 您有一个引用("")问题
  3. 我会使用String.Format代替

  4. <asp:HyperLink ID="HyperLink1" runat="server" 
      NavigateUrl='<%# String.Format("~/Comp/Default.aspx?abc={0}&xyz={1}", Eval("id"), Eval("TeamId")) %>' 
    />
    

答案 1 :(得分:0)

虽然上述工作正常,但使用.NET 4.5中的新 Model Binding 功能,您也可以使用Item.绑定。

<asp:HyperLink ID="HyperLink1" runat="server" 
  NavigateUrl='<%# String.Format("~/Comp/Default.aspx?abc={0}&xyz={1}", Item.id, Item.TeamId) %>' 
/>

(当然,你不要混淆引号)