在本地测试没有该错误,但发布到服务器后就出现这样的错误,为什么啊?

解决方案 »

  1.   

    前台页面:
    <asp:GridView ID="GvDomainList" runat="server" AutoGenerateColumns="false" Width="700px"
                                        CssClass="gvsort" CellPadding="7" EmptyDataText="对不起,没有任何产品!" AllowPaging="true"
                                        PageSize="10" OnPageIndexChanging="GvDomainList_PageIndexChanging">
                                        <Columns>
                                            <asp:TemplateField HeaderText="产品标识ID">
                                                <ItemTemplate>
                                                    <asp:Label ID="lblpid" runat="server" Text='<%#Eval("pid") %>' />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField HeaderText="产品名称">
                                                <ItemTemplate>
                                                    <%--<asp:Label ID="lblProductName" runat="server" Text='<%#Eval("ProductName") %>' />--%>
                                                    <asp:Label ID="lblProductName" runat="server" Text='<%#Eval("pname") %>' />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField HeaderText="产品类别">
                                                <ItemTemplate>
                                                    <asp:Label ID="lblsortname" runat="server" Text='<%#Eval("name") %>' />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField HeaderText="销售价格">
                                                <ItemTemplate>
                                                    <asp:Label ID="lblprice" runat="server" Text='<%#getProductPriceByPidAndLev(Eval("pid").ToString()) %>' />
                                                    元/年
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField HeaderText="操作">
                                                <ItemTemplate>
                                                    <asp:LinkButton ID="lnkbtBuy" runat="server" Text="续费" ToolTip="续费" CommandArgument='<%#Eval("pid") %>'
                                                        OnClick="lnkbtBuy_Click" />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                        </Columns>
                                        <HeaderStyle Font-Bold="True" />
                                        <RowStyle BackColor="#EEEEEE" />
                                        <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" />
                                        <AlternatingRowStyle BackColor="#DCDCDC" />
                                        <PagerStyle HorizontalAlign="Right" />
                                    </asp:GridView>
    后台代码:
     public string getProductPriceByPidAndLev(string strPid)
        {
                   Users UsersObj = UserManager.GetUserByUserID(Convert.ToInt32(Session["userid"]));//根据用户ID获取用户实体
            string strLev = UsersObj.Userlevel;//用户级别
            DataTable dt = ProductPriceManager.getProductPriceOldByPidAndUserLev(strPid, strLev);
            if (dt.Rows.Count != 0)
            {
                return dt.Rows[0]["price"].ToString();
            }
            else
            {
                return "0";
            }
        }
      

  2.   

    GetUserByUserID()或者getProductPriceOldByPidAndUserLev这个里有错
      

  3.   

    直接 select top 1 就好了
      

  4.   

    为什么啊?select top(1)是sql server 2005自动加上的啊。
      

  5.   

    服务器的SQL server是2000的吧,我的也是2000的,不支持这个