| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3224 人关注过本帖
标题:[求助]在aspx中调用cs定义的类出错。
只看楼主 加入收藏
cityair
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-4-27
收藏
 问题点数:0 回复次数:15 
[求助]在aspx中调用cs定义的类出错。

两个文件:test.aspx,testcls.cs,在testcls.cs文件中定义了一个类myclass(namespace是test),然后在test.aspx中调用
<%@ Page language="c#" Codebehind="testcls.cs" AutoEventWireup="false" Inherits="testcls" %>
但是在定义类变量时(testcls tcls=new testcls();)却提示错误了。

因为初学ASP.NET,所以不是很明白。

搜索更多相关主题的帖子: aspx中 定义 testcls 变量 
2006-05-16 11:39
jhmaldini
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-5-11
收藏
得分:0 
using 工程名.text;
代码text.aspx开头加上这句
2006-05-16 13:13
cityair
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-4-27
收藏
得分:0 

我将test.aspx中的引用改成<%@ Page Language="C#" AutoEventWireup="false" CodeFile="testcls.cs" Inherits="myClass" %>却提示如下错误,这是什么原因啊?

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).

Source Error:

Line 1:  // testcls.cs
Line 2:  
Line 3:  using System;

Source File: f:\testcls.cs Line: 1

2006-05-16 13:30
小笨笨
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:1169
专家分:0
注 册:2006-4-17
收藏
得分:0 

你是在哪里引用cs文件啊?
<%@ Page Language="C#" AutoEventWireup="false" CodeFile="testcls.cs" Inherits="myClass" %>这是代码分离的语句,不是引用cs的语句。
引用的话,要在.cs文件里引用。


欢迎光临我的博客: http://smallfools.blog./default.html
2006-05-16 14:23
cityair
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-4-27
收藏
得分:0 
刚学不是很明白,能不能解释一下如何在aspx文件里调用cs文件里定义的类?谢谢
2006-05-16 16:32
jhmaldini
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-5-11
收藏
得分:0 
兄弟,你编程习惯很好,asp.net不是asp.就是要代码和页面分离.不然叫什么面向对象编程?
如果你的.aspx文件和.cs文件都放在一块..asp文件直接实例化对象就可以.
比如说我今天刚做的一个新闻登陆框我给你截取一段程序.你不用看懂怎么连数据库.只要明白怎么调用就行了.
类文件夹News.NewsClass里有两个文件
NewsKinds(实体类),NewsKindsCon(连接类)
NewsKinds里面有部分代码.这就是数据库的3个字段.
public int NewsKindID;
public string KindName;
public int KindOrder;
NewsKindsCon中关于数据库的代码

public SqlConnection createCon()
{
return new SqlConnection("server=.;uid=sa;pwd=;database=TestNewsDB");
}
public bool insertOperate(NewsKinds nk) //看这里这个函数参数是实体类的对象
{
try
{
SqlConnection con=this.createCon();
con.Open();
SqlCommand cmd=new SqlCommand("insert into NewsKinds(KindName,KindOrder) values(@name,@order)",con);
cmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,100));
cmd.Parameters["@name"].Value=nk.KindName;//因为两个类在一个文件夹里,可以直接实例化.
cmd.Parameters.Add(new SqlParameter("@order",SqlDbType.Int,4));
cmd.Parameters["@order"].Value=nk.KindOrder;//因为两个类在一个文件夹里,可以直接实例化.
cmd.ExecuteNonQuery();
con.Close();
return true;
}
catch(Exception e)
{
return false;
}
然后在admins文件夹中做一个页面NewsKindManage.aspx.
注意,如果要调用上面的那两个类,必须在开头加上using 工程名.类文件夹名.我这个工程叫News.
所以在NewsKindManage.aspx开头加上using News.NewsClass;
然后加一个listbox(listbox1)一个button(btnAdd),一个textbox(txtAdd)
然后写一个函数,这段函数最好也写到类中,不过我不知道怎么写.
private void BindNewsKindData()
{
this.ListBox1.Items.Clear();
SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=;database=TestNewsDB");
con.Open();
SqlCommand cmd=new SqlCommand("select * from NewsKinds order by KindOrder",con);
SqlDataReader sdr=cmd.ExecuteReader();
this.ListBox1.DataSource=sdr;
this.ListBox1.DataTextField="KindName";
this.ListBox1.DataValueField="KindOrder";
this.ListBox1.DataBind();
con.Close();
sdr.Close();
}
page_load里面写代码
if(!this.IsPostBack)
{
this.BindNewsKindData();
}
btnAdd的click事件
if(this.txtAdd.Text.Trim()!="")//看这里,基本都是面向对象编程
{
NewsKinds nk=new NewsKinds();
//因为类和页面不在一个文件夹.页面开头必须有using News.NewsClass;
nk.KindName=this.txtAdd.Text;
nk.KindOrder=this.ListBox1.Items.Count;
NewsKindsCon nkc=new NewsKindsCon();
nkc.insertOperate(nk);
this.BindNewsKindData();
}
这样单击button就可以实现textbox中的文件写入数据库.然后绑定显示到listbox里面了.
2006-05-16 17:08
jhmaldini
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-5-11
收藏
得分:0 

我的例子里类和页面在两个文件夹中

2006-05-16 17:09
jhmaldini
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-5-11
收藏
得分:0 
笨笨姐,如果你看到这个例子,告诉我中间那个private void BindNewsKindData()函数怎么写到类里面好吗?谢谢.
2006-05-16 17:12
cityair
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-4-27
收藏
得分:0 

兄弟,你这个用的vs的环境吧,我用的是微软的ASP.NET WEB Matrix Project调试环境,这小冬冬不能建立工程,所以不能像你说的那样using 工程.类文件夹来引用,我现在有index.aspx,index.aspx.cs,testcls.cs三个文件,想在testcls.cs里定义一个多个aspx文件都能调用的类,我现在index.aspx.cs里用using TEST;(TEST是Namespace)引用就出错,这样的话该如何引用?

2006-05-16 17:33
小笨笨
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:1169
专家分:0
注 册:2006-4-17
收藏
得分:0 

只要是代码分离,都可以用using来引用啊。
如果不是代码分离的话,就用<%@ Import Namespace="System.IO"%>来引用


欢迎光临我的博客: http://smallfools.blog./default.html
2006-05-16 18:12
快速回复:[求助]在aspx中调用cs定义的类出错。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026819 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved