数据库中有title(文章标题)和filename(文件名)两个字段,在DataGrid控件中使用了模板列,在模板列中定义了一个超链接,希望点击文章标题时能打开相应的文件:<asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.title") %>' NavigateUrl='<%# "d:\\web\\xxxt\\uploadfile\\"+DataBinder.Eval(Container, "DataItem.filename") %>' Target="_blank">这工作正常,而且我看了csdn上的文章,绝大多数都是这样做的.但我看了《asp.net 高级编程》和MSDN帮助,都说DataBinder.Eval()性能低,要避免使用,于是我按照《asp.net 高级编程》第258页的做法改成以下语句(只改了第一个DataBinder.Eval()语句):
<asp:HyperLink runat="server" Text='<%# Container.DataItem("title") %>' NavigateUrl='<%# "d:\\web\\xxxt\\uploadfile\\"+DataBinder.Eval(Container, "DataItem.filename") %>' Target="_blank">
结果编译出错“System.web.UI.WebControls.DataGridItem.DataItem”表示“属性”,此处应为“方法”。
我对这个语法不熟悉,有哪位这样做过的,能告诉我哪里出错了吗?
<asp:HyperLink runat="server" Text='<%# Container.DataItem("title") %>' NavigateUrl='<%# "d:\\web\\xxxt\\uploadfile\\"+DataBinder.Eval(Container, "DataItem.filename") %>' Target="_blank">
结果编译出错“System.web.UI.WebControls.DataGridItem.DataItem”表示“属性”,此处应为“方法”。
我对这个语法不熟悉,有哪位这样做过的,能告诉我哪里出错了吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货