仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.HyperLinkField 没有 DataBinding 事件。

时间:2022-01-31 12:16:22

如果你的代码是如下:

<asp:HyperLinkField  HeaderText="进入" 
Target="_blank" Text="进入" NavigateUrl='<%= "~/OnlineExam/Student/PaperDetial.aspx?examid="+Eval("id")+"&cid="+Request["cid"].ToString()+"&paperid="+Eval("testPaperId") %>' />

那么,恭喜你,你一定会得到意外的但不是惊喜,会提示说:
仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.HyperLinkField 没有 DataBinding 事件

,那这是为哈呢?其实人家说明都已经说得很清楚啦,就是那个HyperLinkField 没有 DataBinding 事件 ,那该如何解决呢?很简单,换了就是,把上述代码换成:

<asp:TemplateField HeaderText="进入">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" Text="进入" NavigateUrl='<%# "~/OnlineExam/Student/PaperDetial.aspx?examid="+Eval("id")+"&cid="+Request["cid"].ToString()+"&paperid="+Eval("testPaperId") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
好啦,万事大吉了,问题解决了,哈哈