高分求对象数据源控件的最吐血应用!

mint 2009-05-21 03:55:15
一般说来,对象数据源控件是直接与业务层打交道。但由于一些特殊原因,我的一个页面的对象数据源控件需要与自己的页面打交道。请问如何指定typename:
示例代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="datasoucetest.aspx.cs" Inherits="test_datasoucetest" %>

<!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>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ObjectDataSource ID="odsTime" runat="server" SelectMethod="getPageTest" TypeName="test_datasoucetest">
<SelectParameters>
<asp:Parameter Name="ID" DefaultValue="2" />
</SelectParameters>
</asp:ObjectDataSource>


...对应的
cs代码:
...
using System.Web.UI.HtmlControls;

public partial class test_datasoucetest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
[System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select, true)]
public DataTable getPageTest(int ID)
{
DataTable tmpTable = new DataTable();
return tmpTable;
}
}

特殊原因,我需要使用对象数据源!但这样做是错的,请大家为我解惑,高分!
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mint 2009-05-21
  • 打赏
  • 举报
回复
koukoujiayi的办法不行。可能是因为koukoujiayi包含Mytest 的原因。似乎只有在appcode中加类。我试了其它方法都不行。
的确是我想当然,事实上我跟踪了一下,XXX.aspx文件生成的类名不是叫 XXX,例如:它不叫test_datasoucetest。由于partical编译的原因,它会加上_aspx后缀。再说了,由于最终生成dll的方式不可知,这种方法并不正确。谢谢大家,结了!
koukoujiayi 2009-05-21
  • 打赏
  • 举报
回复
加一个类试试
public partial class test_datasoucetest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
[System.ComponentModel.DataObject]
public class Mytest
{
[System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select, true)]
public DataTable getPageTest(int ID)
{
DataTable tmpTable = new DataTable();
return tmpTable;
}
}
}
vrhero 2009-05-21
  • 打赏
  • 举报
回复
ObjectDataSource的TypeName="classA.getPageTest"...
------------------------
ObjectDataSource的TypeName="classA"...更正一下...
vrhero 2009-05-21
  • 打赏
  • 举报
回复
把getPageTest方法放到一个单独的class里,如classA...ObjectDataSource的TypeName="classA.getPageTest"...

去看MSDN,不要想当然...
微工程 2009-05-21
  • 打赏
  • 举报
回复
在app_code 里建立一个类

在datasoucetest.aspx里的有个nametype 属性指定

同时再设置其他属性和参数

ObjectDataSource的使用是三层

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧