“/gbdt”应用程序中的服务器错误。
--------------------------------------------------------------------------------分析器错误 
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.HyperLinkField 没有 DataBinding 事件。源错误: 
行 10: <asp:TemplateField>
行 11:             <ItemTemplate>
行 12:                 <asp:HyperLinkField runat="server"  NavigateUrl='<%#Eval("newsId", "newsContent.aspx?newId={0}") %>' text='<%#Eval("newsTitle") %>'/>
行 13:             </ItemTemplate>
行 14: 
 源文件: /gbdt/news.ascx    行: 12 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42 
我的news.ascx文件
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="news.ascx.cs" Inherits="news" %>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="newsId" OnDataBinding="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
            <ItemTemplate>
                <td><img src="~\images\j1.gif" alt="1" width="4" height="7" /></td>
                            <td colspan="2" align="left"></td> 
            </ItemTemplate>
 </asp:TemplateField>
<asp:TemplateField>
            <ItemTemplate>
                <asp:HyperLinkField runat="server"  NavigateUrl='<%#Eval("newsId", "newsContent.aspx?newId={0}") %>' text='<%#Eval("newsTitle") %>'/>
            </ItemTemplate> </asp:TemplateField>
 </Columns></asp:GridView>我的news.ascx.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
public partial class news : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //if (Session["admin"] == null)
        //{
        //    Response.Redirect("~\admin_login.aspx");        //}
        //else
        //{ 
        //  if(!IsPostBack)
            GridViewBind(); 
        //}
    }
    protected void GridView1_RowDataBound(object sender, GridViewEditEventArgs e)
    {
        //GridViewBind();
    }
    private void GridViewBind()
    { 
        string ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;";
        ConnectionString += @"Data Source=E:\gbdt\data\database.mdb";
        string sql = "select * from news ";
        DataSet ds = new DataSet();
        OleDbConnection conn = new OleDbConnection(ConnectionString);
        try
        {
            if (conn.State.ToString() == "Closed")
            {
                conn.Open();
                OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
                da.Fill(ds);
                GridView1.DataSource = ds.Tables[0].DefaultView;
                GridView1.DataBind();            }
        }
        catch (System.Exception ee)
        {
            Response.Write("数据库错误,错误原因:" + ee.Message);
            Response.End();
        }
        finally
        {
            if (conn.State.ToString() == "Open")
            {
                conn.Close();
            }
        }

解决方案 »

  1.   

    OnDataBinding="GridView1_RowDataBound"改成OnRowDataBound="GridView1_RowDataBound"
      

  2.   

        protected void GridView1_RowDataBound(object sender, GridViewEditEventArgs e) 
        { 
            //GridViewBind(); 
        } 删除以上
      

  3.   

    是不是text前面缺个空格啊~?呵呵
    帮你顶
      

  4.   

    protected void GridView1_RowDataBound(object sender, GridViewEditEventArgs e) 
        { 
            //GridViewBind(); 
        } OnDataBinding="GridView1_RowDataBound"
    二个都删掉
      

  5.   

    <a runat="server" href='<%#Eval("newsId", "newsContent.aspx?newId={0}") %>'> 
    <%#Eval("newsTitle") %></a>