<%@ Page Language="C#" AutoEventWireup="true" CodeFile="yonghuliulan.aspx.cs" Inherits="yonghuliulan" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <style type="text/css">
        .style1
        {
            height: 391px;
            width: 183px;
        }
    </style>
</head>
<body>
  <form id="form2" runat="server">
    <div>
    </div>
    </form>    <form id="form1" runat="server">
     <table style="width: 1033px; height: 425px" align="center">
        <tr bgcolor="#FF6600">
            <td style="vertical-align: top; text-align: right" class="style1">
                <asp:TreeView ID="twtype" runat="server" OnSelectedNodeChanged="twtype_SelectedNodeChanged"
                    ShowLines="True" 
                    Style="vertical-align: middle; text-align: left; padding-right: 0px;" 
                    Width="249px" BackColor="#FF6600" Height="421px">
                    <Nodes>
                        <asp:TreeNode Text="图书" Value="1">
                            <asp:TreeNode Text="教育" Value="2">
                                <asp:TreeNode Text="英语" Value="5"></asp:TreeNode>
                                <asp:TreeNode Text="数学" Value="6"></asp:TreeNode>
                            </asp:TreeNode>
                            <asp:TreeNode Text="科技" Value="3">
                                <asp:TreeNode Text="计算机" Value="7"></asp:TreeNode>
                                <asp:TreeNode Text="天文" Value="8"></asp:TreeNode>
                            </asp:TreeNode>
                            <asp:TreeNode Text="文学" Value="4">
                                <asp:TreeNode Text="散文" Value="9"></asp:TreeNode>
                                <asp:TreeNode Text="小说" Value="10"></asp:TreeNode>
                            </asp:TreeNode>
                        </asp:TreeNode>
                    </Nodes>
                </asp:TreeView>
                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
            </td>
            <td colspan="2" style="vertical-align: top; width: 806px; height: 391px;
                text-align: center" bgcolor="#FF6600">
                
                <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                    DataKeyNames="bookID" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand"
                    PageSize="3" Width="722px" Height="386px">
                    <PagerSettings Mode="NumericFirstLast" />
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <div style="text-align: left">
                                    <table border="0" cellpadding="0" cellspacing="0" style="width: 483px; height: 86px">
                                        <tr>
                                            <td rowspan="4" style="width: 49px; text-align: center">
                                                <asp:Image ID="Image2" runat="server" ImageUrl='<%# "~/picture/"+Eval("bookImage") %>' /></td>
                                            <td style="width: 54px; height: 21px">
                                                书名:</td>
                                            <td colspan="2" style="height: 21px">
                                                <asp:Label ID="Label1" runat="server" Text='<%# Eval("bookName") %>' Width="231px"></asp:Label></td>
                                        </tr>
                                        <tr>
                                            <td style="width: 54px; height: 20px">
                                                作者:</td>
                                            <td colspan="2" style="height: 20px">
                                                <asp:Label ID="Label2" runat="server" Text='<%# Eval("bookAuthor") %>' Width="230px"></asp:Label></td>
                                        </tr>
                                        <tr>
                                            <td style="width: 54px; height: 24px">
                                                价格:</td>
                                            <td colspan="2" style="height: 24px">
                                                <asp:Label ID="Label3" runat="server" Text='<%# Eval("bookPrice") %>' Width="234px"></asp:Label></td>
                                        </tr>
                                        <tr>
                                            <td style="width: 54px">
                                                <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%# "bookinfo.aspx?bid="+Eval("bookID").ToString() %>'
                                                    Width="49px">详情</asp:HyperLink></td>
                                            <td colspan="2">
                                                <asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl='<%# "speaking.aspx?bid="+Eval("bookID").ToString() %>'
                                                    Width="36px">评论</asp:HyperLink>
                                                &nbsp; &nbsp;
                                                <asp:Button ID="Button1" runat="server" CommandArgument='<%# Eval("bookID") %>' CommandName="add"
                                                    Text="加进购物车" /></td>
                                        </tr>
                                    </table>
                                </div>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </td>
        </tr>
        </table>
    </form>
</body>
</html>
出现了这样的错误呀GridView1”的 DataSourceID 必须是 IDataSource 类型的控件的 ID。未能找到 ID 为“SqlDataSource1”的控件。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: “GridView1”的 DataSourceID 必须是 IDataSource 类型的控件的 ID。未能找到 ID 为“SqlDataSource1”的控件。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[HttpException (0x80004005): “GridView1”的 DataSourceID 必须是 IDataSource 类型的控件的 ID。未能找到 ID 为“SqlDataSource1”的控件。]
   System.Web.UI.WebControls.DataBoundControl.GetDataSource() +1866717
   System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +34
   System.Web.UI.WebControls.DataBoundControl.OnLoad(EventArgs e) +16
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Control.LoadRecursive() +131
   System.Web.UI.Control.LoadRecursive() +131
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
很急用,大家帮帮忙!!
 

解决方案 »

  1.   

    SqlDataSource1这个控件不存在。
      

  2.   

    那怎么办,添加SqlDataSource1也不行啊
      

  3.   


    类型的控件的 ID。未能找到 ID 为“SqlDataSource1”的控件。 你看你的代码页面没有SqlDataSource1这个没有就拖一个sqldatasource1进来 设置好sql语句即可。
      

  4.   

    实例
    <asp:SqlDataSource  ID="SqlDataSource1" Runat="server"
      SelectCommand="SELECT * FROM [Customers]"
      ConnectionString="<%$ ConnectionStrings:AppConnectionString1  %>">
     </asp:SqlDataSource>你看看后台代码给哪个控件设置了参数datasourceID="sqldatasource1"了。
      

  5.   

     -------------------------------------------------------------------------------- 编译器错误消息: CS0115: “ASP.yonghuliulan_aspx.GetTypeHashCode()”: 没有找到适合的方法来重写源错误: 行 1544:        
    行 1545:        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
    行 1546:        public override int GetTypeHashCode() {
    行 1547:            return -1246243959;
    行 1548:        }
     源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\wssd\cfd4a9fa\c894d786\App_Web_yonghuliulan.aspx.cdcab7d2.phyaqfso.0.cs    行: 1546  谢谢,出现新的问题,求指教。
    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;public partial class userBook : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void twtype_SelectedNodeChanged(object sender, EventArgs e)
        {
            string typeid = twtype.SelectedValue;
            SqlDataSource1.SelectCommand = string.Format("select * from tblBook where typeID='" + typeid + "'");
            GridView1.DataBind();
            if (GridView1.Rows.Count == 0)
                Label8.Visible = true;
            else
                Label8.Visible = false;
        }
        private orderItemInfo getOdrerItem(object sender, GridViewCommandEventArgs e)
        {
            orderItemInfo item = new orderItemInfo();
            Button bt = e.CommandSource as Button;//被单击的按钮
            GridViewRow row = bt.Parent.Parent as GridViewRow;//被选定的行
            item.bookID = int.Parse(bt.CommandArgument);//书号
            Label book = (Label)row.FindControl("label1");//书名
            item.bookName = book.Text;
            item.bookNum = 1;//数量
            Label p = (Label)row.FindControl("label3");  //价格 
            item.price = Convert.ToDecimal(p.Text.Trim());
            return item;
        }
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (Session["userlogin"] != null)
            {
                //添加购物车
                if (e.CommandName.ToLower() == "add")
                {
                    orderinfo order = null;   //存储购物车信息
                    orderItemInfo orderItem = null; // 购买书籍的信息
                    //判断购物车中是否有书籍
                    if (Session["order"] == null)
                    {
                        orderItem = getOdrerItem(sender, e);//获取购买的书籍
                        if (orderItem == null)
                        {
                            Response.Write("<script language='javascript'>alert('您还没有购买任何书籍!');</script>");
                            return;
                        }
                        //创建购物车
                        order = new orderinfo();
                        order.orderItemList.Add(orderItem);  //添加新书到列表
                        order.orderTime = DateTime.Now;    //购买时间
                        order.sumPrice = orderItem.price; //总价格
                        order.TotalNum = orderItem.bookNum; //总数量
                        Session["order"] = order;//记录订单                }
                    else   //购物车中有书籍
                    {
                        order = (orderinfo)Session["order"]; //将Session存入到order
                        orderItem = getOdrerItem(sender, e);
                        int i = 0;
                        //判断购物车中是否已经有了此书
                        for (i = 0; i < order.orderItemList.Count; i++)
                        {
                            //如果有此书,在此基础上加
                            if (orderItem.bookID == ((orderItemInfo)order.orderItemList[i]).bookID)
                            {
                                ((orderItemInfo)order.orderItemList[i]).bookNum++;  //书籍数量加1
                                ((orderItemInfo)order.orderItemList[i]).price += orderItem.price;
                                break;                        }
                        }
                        if (i == order.orderItemList.Count)//购物车中没有此书,就将此书加到购物车
                        {
                            order.orderItemList.Add(orderItem);
                        }
                        order.orderTime = DateTime.Now;  //购买时间
                        order.TotalNum++;  //总数量加1
                        order.sumPrice += orderItem.price; //总价格加1
                        Session["order"] = order;
                    }                Response.Write("<script language='javascritp'>alert('添加成功!');</script>");
                }
            }
        }
      

  6.   

    sqldatasource1这个数据源控件在哪儿?我怎么没看见
    给你个例子吧
       <asp:GridView ID="gvWageDefault" runat="server" AutoGenerateColumns="False"  
               AllowPaging="True" PageSize="12"   
                Width="2400px" EnableModelValidation="True" 
               onpageindexchanging="gvWageDefault_PageIndexChanging">
            <Columns>
            
                <asp:BoundField  DataField="WageDate" HeaderText="发放时间" 
                    HeaderStyle-Width="122px">
                <HeaderStyle Width="122px" />
                </asp:BoundField>
                <asp:BoundField DataField="WageID" HeaderText="工资ID" />
                <asp:BoundField DataField="EmpName" HeaderText="员工姓名" HeaderStyle-Width="50px" >
                <HeaderStyle Width="50px" />
                </asp:BoundField>
                <asp:BoundField DataField="ESkillPay" HeaderText="技能工资" />
                <asp:BoundField DataField="EPostWage" HeaderText="岗位工资" />
                <asp:BoundField DataField="ENewPostWage" HeaderText="新增岗位工资" />
                <asp:BoundField DataField="ESeniorityWage" HeaderText="工龄工资" />
                <asp:BoundField DataField="ESecurityBenefits" HeaderText="安全效益" />
                <asp:BoundField DataField="ETechnologyAllowance" HeaderText="技术津贴" />
                <asp:BoundField DataField="EMaterialBurning" HeaderText="内燃物补" />
                <asp:HyperLinkField DataNavigateUrlFields="WageID" 
                    DataNavigateUrlFormatString="WageView.aspx?WageID={0}" HeaderText="查看" 
                    Text="查看" />
                <asp:HyperLinkField DataNavigateUrlFields="WageID" 
                    DataNavigateUrlFormatString="WageModify.aspx?WageID={0}" HeaderText="修改" 
                    Text="修改" />
                <asp:BoundField DataField="EHousingSubsidies" HeaderText="房屋补贴" />
                <asp:BoundField DataField="EPriceSubsidy" HeaderText="价格补贴" />
                <asp:BoundField DataField="EWashFees" HeaderText="洗理费用" />
                <asp:BoundField DataField="ETransportSubsidy" HeaderText="交通补贴" />
                <asp:BoundField DataField="EWageSubsidies" HeaderText="工资补贴" />
                <asp:BoundField DataField="ENurserMilkSupplement" HeaderText="托儿奶补" />
                <asp:BoundField DataField="ESonSubsidies" HeaderText="独子补贴" />
                <asp:BoundField DataField="EBookFees" HeaderText="书报费用" />
                <asp:BoundField DataField="ERewardSubsidies" HeaderText="回民补贴" />
                <asp:BoundField DataField="EPhoneCharges" HeaderText="手机费用" />
                <asp:BoundField DataField="EMealAllowance" HeaderText="餐费补贴" />
                <asp:BoundField DataField="EBookWashFees" HeaderText="书报洗理费用" />
                <asp:BoundField DataField="EOtherSubsidies" HeaderText="其他补贴" />
                <asp:BoundField DataField="ECPension" HeaderText="养老金" />
                <asp:BoundField DataField="ECHousingFund" HeaderText="房基金" />
                <asp:BoundField DataField="ECIndiviualContributions" HeaderText="个人会费" />
                <asp:BoundField DataField="ECUnemploymentInsurance" HeaderText="失业保险" />
                <asp:BoundField DataField="ECPersonalIncomeTax" HeaderText="个人所得税" />
                <asp:BoundField DataField="ECMedicare" HeaderText="医疗保险" />
                <asp:BoundField DataField="ECAnnuity" HeaderText="企业年金" />
                <asp:BoundField DataField="ECOtherDeductionShall" HeaderText="其他扣款" />      
            </Columns>
            <PagerSettings FirstPageText="第一页" LastPageText="最后页" Mode="NumericFirstLast" NextPageText="下一页"
             PageButtonCount="12" PreviousPageText="上一页" />
        </asp:GridView>
         
    <%--      <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
             ConnectionString="<%$ ConnectionStrings:GYDConnectionString %>" 
            ProviderName="System.Data.SqlClient"
            SelectCommand="SELECT [WageDate],[WageID],e.[EmpName], [ESkillPay], [EPostWage], [ENewPostWage], [ESeniorityWage], [ESecurityBenefits], [ETechnologyAllowance], [EMaterialBurning], [EHousingSubsidies], [EPriceSubsidy], [EWashFees], [ETransportSubsidy], [EWageSubsidies], [ENurserMilkSupplement], [ESonSubsidies], [EBookFees], [ERewardSubsidies], [EPhoneCharges], [EMealAllowance], [EBookWashFees], [EOtherSubsidies], [ECPension], [ECHousingFund], [ECIndiviualContributions], [ECUnemploymentInsurance], [ECPersonalIncomeTax], [ECMedicare], [ECAnnuity], [ECOtherDeductionShall] FROM [Crm_WageManagement] w inner  join  Crm_employee e  on w.empid=e.empid ">
            </asp:SqlDataSource>--%>