标签: objectdatasource

使用ASP.Net MVC分页和排序网格

我是MVC的新手,并没有关注你如何在网格上进行分页和排序.我习惯使用asp.Net GridView控件和指向业务层中对象的ObjectDataSource - 在这种情况下,ODS使用ORM在对象上生成的方法处理所有的分页和排序.

我已经看过使用与MVC相同的ORM - 并且事情在那里工作得很好 - 我只是循环通过集合来构建页面上的表 - 但没有ODS来处理分页和排序,我很困惑我该怎么做 我是否有一个单独的控制器用于分页和排序?

我知道我需要自己动手 - 但我从哪里开始?我创建了一个CustomerController,以及一个显示如下所示客户表的视图 - 我想对FirstName或LastName列进行排序.我的模型上有一个Sort()方法,它将采用GridView/ODS对使用的格式的字符串排序表达式.我会在我的CustomerController上创建一个名为Sort的新Action,并在我的标题中添加一个ActionLink吗?

    <table>
    <tr>
        <th>
            First Name
        </th>
        <th>
            Last Name
        </th>
    </tr>
    <% foreach (var item in Model)
       { %>
    <tr>
        <td>
            <%= Html.Encode(item.FirstName) %>
        </td>
        <td>
            <%= Html.Encode(item.LastName) %>
        </td>
    </tr>
    <% } %>
</table>
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc gridview objectdatasource

52
推荐指数
2
解决办法
6万
查看次数

GridView与嵌套类的Properties绑定

我有一个类似于下面列出的对象图.当我尝试在GridView中绑定NestedClass的属性时,我得到错误:

"在所选数据源上找不到名为'NestedClass.Name'的字段或属性."

GridView绑定到ObjectDataSource,ObjectDataSource绑定到一个完全填充的BoundClass实例.

有没有办法解决?

样本类:

public class BoundClass
{
    public string Name { get; set; }
    public NestedClass NestedClass { get; set; }
}

public class NestedClass
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview objectdatasource

34
推荐指数
2
解决办法
2万
查看次数

如何在运行时设置ObjectDataSource选择参数

我正在尝试在运行时向objectDataSource添加参数,如下所示:

        Parameter objCustomerParameter = new Parameter("CustomerID", DbType.String, customerID);
        Parameter objGPDatabaseParameter = new Parameter("Database", DbType.String, gpDatabase);

        //set up object data source parameters
        objCustomer.SelectParameters["CustomerID"] = objCustomerParameter;
        objCustomer.SelectParameters["Database"] = objGPDatabaseParameter;
Run Code Online (Sandbox Code Playgroud)

在objectDataSource生命周期的什么时候应该添加这些参数(什么事件)?此外,某些值来自母版页属性(包含objectDataSource的页面的page_load 之后加载).

asp.net objectdatasource

21
推荐指数
1
解决办法
4万
查看次数

Visual Studio不会更新我的数据源的属性

我使用我的班级"发票"作为数据源.但是在向其添加更多属性后,Visual Studio拒绝刷新数据源,我无法在数据源中找到新属性.

尝试重新启动项目,再次删除和添加对象作为数据源.不工作.

c# datasource objectdatasource visual-studio-2010 visual-studio

17
推荐指数
1
解决办法
1万
查看次数

SqlDataSource与ObjectDataSource

如果网页需要一些数据,为什么不只是让SQLDataSource调用存储过程?为什么使用ObjectDataSource来调用然后调用存储过程的业务对象?我知道在.net框架上构建的其他应用程序(比如桌面应用程序)可以访问业务对象,但是如果应用程序永远只是一个Web应用程序呢?

更清楚:

什么时候应该使用SqlDataSourceObjectDataSource

如何激励选择?

.net asp.net objectdatasource sqldatasource

16
推荐指数
1
解决办法
1万
查看次数

如何使用GridView和ObjectDataSource进行排序?

我有一个GridView,ObjectDataSource我希望能够对它进行排序.

分页工作正常,但排序给了我一个例外:

GridView gridView触发了未处理的事件排序.

如何在服务器端启用排序?

(即gridView.EnableSortingAndPagingCallbacks必须保持错误)

asp.net gridview objectdatasource

15
推荐指数
2
解决办法
3万
查看次数

如何获取ObjectDataSource的行数

大家好

如何获得ObjectDataSouce的行数?

我使用ObjectDataSource和DataList.我希望在ObjectDataSource返回某些行时向用户显示一些东西,例如在标签中.其中一种情况是没有记录.

谢谢 .

c# objectdatasource rowcount

10
推荐指数
3
解决办法
2万
查看次数

无法在ASP.NET MVC的RDLC报告中查看或添加网站数据源

在RDLC报告中,在Visual Studio 2008的"设计"视图中,我们在"网站数据源"选项卡中看不到任何内容,并且"添加新数据源"按钮显示为灰色.仅启用"刷新"按钮,单击它不会执行任何操作.我们的业务逻辑层返回业务对象列表,业务逻辑和业务对象项目都由MVC项目引用.这是一个MVC应用程序,因此没有App_Code文件夹.

我们如何让我们的业务对象出现在Website Data Sources列表中,以便我们可以将对象中的字段拖放到RDLC报告中?

reportviewer objectdatasource rdlc

10
推荐指数
1
解决办法
1万
查看次数

使用ObjectDataSource的泛型类

我有一个通用的Repository <T>类,我想与ObjectDataSource一起使用.存储库<T>位于名为DataAccess的单独项目中.根据MS新闻组的这篇文章(相关部分复制如下):

在内部,ObjectDataSource正在调用Type.GetType(string)来获取类型,因此我们需要遵循Type.GetType中记录的指南,了解如何使用泛型获取类型.您可以在Type.GetType上引用MSDN Library:

http://msdn2.microsoft.com/en-us/library/w3f99sx1.aspx

从文档中,您将了解到需要使用反引号(`)来表示使用泛型的类型名称.

此外,这里我们必须在类型名称字符串中指定程序集名称.

因此,对于您的问题,答案是使用类型名称,如下所示:

类型名= "TestObjectDataSourceAssembly.MyDataHandler`1 [System.String],TestObjectDataSourceAssembly"

好的,有道理.但是,当我尝试它时,该页面会抛出异常:

<asp:ObjectDataSource ID="MyDataSource" TypeName="MyProject.Repository`1[MyProject.MessageCategory],DataAccess" />
Run Code Online (Sandbox Code Playgroud)

[InvalidOperationException:找不到ObjectDataSource'MyDataSource'的TypeName属性中指定的类型.

奇怪的是,这只发生在我查看页面时.当我从VS2008设计器打开"配置数据源"对话框时,它正确地向我显示了我的通用Repository类的方法.调试时将TypeName字符串传递给Type.GetType()也会返回有效类型.什么给出了什么?

asp.net generics objectdatasource

9
推荐指数
1
解决办法
5267
查看次数

从Entity框架返回自定义对象<List T>并分配给对象数据源

我需要一些问题的指导,我正在使用Entity Framework 4.0,我有一个DAL和BLL并且在页面上绑定到ObjectDataSource.

我不得不使用PIVOT动态SQL 编写存储过程,以我想要的方式从多个实体返回数据.现在我试图找出如何让Entity Framework返回一个我可以ObjectDataSource在页面上绑定到我的自定义对象,我需要使用自定义对象或动态对象,因为存储过程可以返回任意数量的列,所以我不能使用强类型类或实体,我也需要能够绑定它ObjectDataSource.

有人能指出一个很好的方法来做这个以及如何定义我的功能?请举几个代码示例.

我读到我应该尝试List<T>用于返回一个对象,因为EF不支持返回数据表/数据集,到目前为止我有以下内容,但我知道这是不正确的.

我没有太多使用仿制药,如果你能指出如何做到这一点,我相信这对很多人都有帮助.请提供函数的代码示例以及如何绑定ObjectDataSource到返回对象?

非常感谢您的帮助!!

感谢您的帮助Richard根据您对使用DbDataRecord的建议,这就是我现在的功能

ObjectDataSourceDAL中的C#函数

public List<DbDataRecord> GetData(int product_id)
{
    List<DbDataRecord> availableProducts = new List<DbDataRecord>();

    var groupData = context.ExecuteStoreQuery<DbDataRecord>("exec 
  spGetProducts @ProductID={0}", product_id);

    availableProducts = groupData.ToList<DbDataRecord>();

    return availableProducts;
}
Run Code Online (Sandbox Code Playgroud)

ObjectDataSource 在ASPX页面中

<asp:ObjectDataSource ID="ODSProductAvailability" runat="server"
        TypeName="Project.BLL.ProductBL" 
        SelectMethod="GetData"  >
     <SelectParameters>
        <asp:SessionParameter Name="product_id" SessionField="ProductID" />
     </SelectParameters>
</asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)

现在,当我访问页面时,我收到此错误:

结果类型"System.Data.Common.DbDataRecord"可能不是抽象的,必须包含默认构造函数

这是因为ExecuteStoreQuery期望被定义为类还是实体?如何根据存储过程结果创建一个对象并将其分配给它?

c# stored-procedures entity-framework objectdatasource entity-framework-4

8
推荐指数
1
解决办法
2万
查看次数