=======================代码========================
        //GridView数据源
        <asp:ObjectDataSource ID="odsColumnList" runat="server" DeleteMethod="DelColumn"
            SelectMethod="ColumnList" TypeName="EasySite.BLL.ProductColumn">
            <DeleteParameters>
                <asp:Parameter Name="columnid" Type="Int32" />
            </DeleteParameters>
        </asp:ObjectDataSource>
        //GridView控件
        <asp:GridView ID="gvColumnList" runat="server" AutoGenerateColumns="False" DataKeyNames="ColumnID"
            DataSourceID="odsColumnList" OnRowDataBound="gvColumnList_RowDataBound">
            <Columns>
                <asp:BoundField DataField="ColumnID" HeaderText="分类编号" SortExpression="ColumnID" />
                <asp:BoundField DataField="ColumnName" HeaderText="分类名称" SortExpression="ColumnName" />
                <asp:BoundField DataField="RecordNum" HeaderText="总记录数" SortExpression="RecordNum" />
                <asp:TemplateField HeaderText="排序">
                    <ItemTemplate>
                        <asp:HyperLink ID="lnkUp" runat="server" NavigateUrl='<%# Eval("ColumnCode", "{0}") %>'>↑</asp:HyperLink>
                        <asp:HyperLink ID="lnkDown" runat="server" NavigateUrl='<%# Eval("ColumnCode", "{0}") %>'>↓</asp:HyperLink>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CommandField HeaderText="操作" ShowDeleteButton="True" ShowSelectButton="True" />
            </Columns>
        </asp:GridView>        //DetailsView 数据源
        <asp:ObjectDataSource ID="odsColumnByID" runat="server" DataObjectTypeName="EasySite.Control.Column.ColumnInfo"
            InsertMethod="InsertColumn" SelectMethod="GetColumnByID" TypeName="EasySite.BLL.ProductColumn"
            UpdateMethod="UpdateColumn">
            <SelectParameters>
                <asp:ControlParameter ControlID="gvColumnList" Name="columnid" PropertyName="SelectedValue"
                    Type="Int32" />
            </SelectParameters>
        </asp:ObjectDataSource>
        &nbsp;&nbsp;        //DetailsView控件
        <asp:DetailsView ID="dvColumnInfo" runat="server" AutoGenerateRows="False" DataKeyNames="ColumnID"
            DataSourceID="odsColumnByID" Height="50px" Width="125px">
            <Fields>
                <asp:BoundField DataField="ColumnCode" HeaderText="ColumnCode" SortExpression="ColumnCode" />
                <asp:BoundField DataField="RecordNum" HeaderText="RecordNum" SortExpression="RecordNum" />
                <asp:BoundField DataField="ColumnIntro" HeaderText="ColumnIntro" SortExpression="ColumnIntro" />
                <asp:BoundField DataField="ParentCode" HeaderText="ParentCode" SortExpression="ParentCode" />
                <asp:BoundField DataField="ColumnName" HeaderText="ColumnName" SortExpression="ColumnName" />
                <asp:BoundField DataField="ColumnID" HeaderText="ColumnID" SortExpression="ColumnID" />
            </Fields>
        </asp:DetailsView>
=============================== 代码结束 =======================================我想通过在页面上通过点击按钮来实现读曲某记录信息!由于返回的数据源是 IList所以不能使用FilterExpression来实现,于是我参考了这篇文章 http://www.chenjiliang.com/Article/View.aspx?ArticleID=460&TypeID=5,其中的代码在我的机器上运行也是正常.为什么我按照文章中的方法做却无法实现呢? 另外提一下 我试过在数据层throw new Exception(sql) 抛出的 SQL语句是正确的,参数都有被带入,就是DetailsView不会显示返回数据而已!

解决方案 »

  1.   

    自己解决了!!!粗心害死人啊!
                ColumnInfo columnModel=null;
                string sqlColumn = "Select ColumnID,ColumnName,ColumnIntro,ColumnCode,RecordNum From [" + ControlColumnTable + "] Where ColumnID="+columnid;
                
                using (SqlDataReader sdr = SQLHelper.ExecuteReader(sqlColumn))
                {
                    if (sdr.Read())
                    {
                        ColumnInfo item= new ColumnInfo(sdr.GetInt32(0), sdr.GetString(1), sdr.GetString(2), sdr.GetString(3), sdr.GetInt32(4));
                    }
                }
                return columnModel;
    数据层返回的数据弄错了,始终返回Null,汗!
      

  2.   

    巧合而已~ 刚上CSDN,正要看看lz的问题,你就自己解决了~~  ^o^