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

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#,不好意思
...全文
430 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
比较好的方法是把这个方法抽取出来作为一个公共类的静态函数
然后两个文件都可以调用

62,041

社区成员

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

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

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

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