• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

如何调用另一个文件中定义的函数?

chengbo1983 2004-10-26 05:14:55
问一个菜鸟问题

有两个文件,一个是a.aspx,另一个是b.aspx,我使用CodeBehind来写的代码

它们的后台源文件分别是a.aspx.cs和b.aspx.cs

请问我怎么在b.aspx.cs中定义一个函数(就比如一个打印abc字符串的函数),然后在a.aspx.cs中调用?

像下面这样的函数
void Res()
{
Response.Write("abc");
}

不知道说清楚了没有,才学asp.net和c#,不好意思
...全文
286 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xzq686 2004-11-01
a.aspx
namespace namespace1
{
public class class1
{
public void function1()
{
}
}
}

b.aspx:
using namepace1;
namespace namespace2
{
public class class2
{
public void function1()
{
class1 clas = new class1();
clas.function1();//调用另一个文件a.aspx里的函数function1()
}
}

}

回复
shajisky 2004-11-01
把通用的函数放到一个类吧,假设名为Class1

通用函数名为fun1
using System.Web;
public class Class1
{
public Class1{}

public static fun1()
{
HttpContext context = HttpContext.Current;
context.Response.Write("abc");
context = null;
}
}

然后在要调用的地方这么用
Class1.fun1();

当然你要写好命名空间
回复
xzq686 2004-11-01
在aaa.aspx.cs中
using System;
using Click;//笔误。这里你只要引入Click命名空间就可以了。。
namespace xzq686
{
public class indexNews : UserControl
{
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Function Function1= new Database();
Function1.FillData("SELECT top 5 * FROM dd ORDER BY id DESC",dd,"dd.mdb");
}
}
}
}


回复
chengbo1983 2004-11-01
按楼上的也不对啊,晕死了
回复
xzq686 2004-11-01
比如在function.cs中
using System;

namespace Click
{
public class Function
{
public void FillData(string sql, Repeater control, string database)
{
//some code here
}
}
}

在aaa.aspx.cs中
using System;
using Click.Function;

namespace Click2//click也可是换成别的命名空间。
{
public class indexNews : UserControl
{
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Function Function1= new Database();
Function1.FillData("SELECT top 5 * FROM dd ORDER BY id DESC",dd,"dd.mdb");
}
}
}
}
回复
chengbo1983 2004-11-01
比如在function.cs中
using System;

namespace Click
{
public class Function
{
public void FillData(string sql, Repeater control, string database)
{
//some code here
}
}
}

在aaa.aspx.cs中
using System;

namespace Click
{
public class indexNews : UserControl
{
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Click.Function fillData = new Click.Function();
fillData.FillData("SELECT top 5 * FROM dd ORDER BY id DESC",dd,"dd.mdb");
}
}
}
}

运行还是报错
Compiler Error Message: CS0246: The type or namespace name 'Click' could not be found (are you missing a using directive or an assembly reference?)

我没有用VS.NET
回复
vzxq 2004-11-01
把自定义函数放到一个单独的类中
在用到的页面中,声明这个类的对象调用这个类的方法就行了
回复
chengbo1983 2004-11-01
几天前的贴子了,现在还没学会,再顶一下
回复
zxmlavender 2004-10-26
你可以做成小的webservice吧!应该也可以把!
回复
chengbo1983 2004-10-26
有个页面,我用了很多UserControl,都要读取数据库里的内容(而且数据库还不同),所以我想弄个连接数据库的函数,不用每次都写那一样的代码,怎么做啊?
回复
lufly2000 2004-10-26
把该函数设置成为public.
回复
chengbo1983 2004-10-26
请问luoyankun0216(静坐小河边) 你这是定义了一个类,然后调用它的方法吗?

我只想用函数啊
回复
luoyankun0216 2004-10-26
而且你的方法Res()必须是puclic的。
也就是使用A类定义一个对象。在B类中使用A的对象调用A的方法。

A op=new A();
op.Res();
回复
luoyankun0216 2004-10-26
A op=new A();
op.Res();
A为你的a.aspx.cs中的类,
在b.aspx.cs中要用到的地方就使用:A
op=new A();
op.Res();
就行。
回复
chengbo1983 2004-10-26
各位老大不要说的那个精简啊,多打点字好吗?我现在好想学会这个呀~
回复
haoztao 2004-10-26
可以建个modul
回复
chengbo1983 2004-10-26
请问怎么建,我不会

给我例子好吗?不要太复杂的,就写个上面的那种函数,谢谢了
回复
eradium 2004-10-26
最好另建一个公用类,把函数放那里面。设public。
在页面的后台代码里面using它的namespace,就可以直接调用了。
回复
shuker 2004-10-26
比较好的方法是把这个方法抽取出来作为一个公共类的静态函数
然后两个文件都可以调用
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-10-26 05:14
社区公告
暂无公告