一个用户控件的问题?在线等!!!!!
我做了一个网页,本来把代码写在一起的,想做到用用户控件分离,成功了一个,但下一个就出错了
代码如下:
html部分<hl:News id="NEWS" runat="server"/>
控件:
<%@ Control Language="C#"%>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<asp:DataGrid Font-Name="宋体" Font-Size="16pt" id="DataGrid1" runat="server"
AllowPaging="True" PageSize="10" OnPageIndexChanged="DataGrid1_Page" BorderWidth="0px"
AutoGenerateColumns="False" >
<Columns>
<asp:HyperLinkColumn
DataNavigateUrlField="id" DataNavigateUrlFormatString="content.aspx?id={0}"
DataTextField="title" Target="_blank"></asp:HyperLinkColumn>
</Columns>
</asp:DataGrid>
<script language="c#">
void DataGrid1_Page(Object sender,DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
void BindGrid()
{
string connew="Provider=Microsoft.Jet.OleDb.4.0;Data Source=fcjys.mdb";
string strSQL="SELECT * FROM news";
OleDbConnection con=new OleDbConnection(connew);
con.Open();
OleDbCommand com=new OleDbCommand(strSQL,con);
OleDbDataAdapter lawAdapter=new OleDbDataAdapter(com);
DataSet lawds=new DataSet();
lawAdapter.Fill(lawds);
con.Close( );
DataGrid1.DataSource=lawds;
DataGrid1.DataBind();
}
void Page_Load(Object sender,EventArgs e)
{
DataGrid1.PagerStyle.Mode = PagerMode.NumericPages;
if(!IsPostBack)
{
BindGrid();
}
}
</script>
错误:Compiler Error Message: CS0117: 'ASP.news_ascx' does not contain a definition for 'DataGrid1_Page'
这一行报错<asp:DataGrid Font-Name="宋体" Font-Size="16pt" id="DataGrid1" runat="server" AllowPaging="True" PageSize="10" OnPageIndexChanged="DataGrid1_Page" BorderWidth="0px" AutoGenerateColumns="False" >
问题点数:100、回复次数:17Top
1 楼passacaglia(神秘园)回复于 2004-09-01 17:21:02 得分 7
你的控件里datagrid的OnPageIndexChanged分页的事件呢?丢了还是忘记写上了,不要了的话就去掉啊Top
2 楼passacaglia(神秘园)回复于 2004-09-01 17:22:32 得分 10
我说的是InitializeComponent()里有没有DataGrid1_PageTop
3 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-01 17:25:03 得分 1
InitializeComponent
lou shang rightTop
4 楼TTOTT()回复于 2004-09-01 17:25:11 得分 0
大哥有呀
void DataGrid1_Page(Object sender,DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
Top
5 楼TTOTT()回复于 2004-09-01 17:26:22 得分 0
大哥有呀
void DataGrid1_Page(Object sender,DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
Top
6 楼pingnt(淡蓝色的雪)回复于 2004-09-01 17:31:32 得分 5
VB中与分页相关的代码应加上一个这样的句柄.
void DataGrid1_Page(Object sender,DataGridPageChangedEventArgs e) handler datagrid1.OnPageIndexChanged ''请注意此行的句柄
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}Top
7 楼TTOTT()回复于 2004-09-01 17:34:17 得分 0
C#中不要吧,大哥,Top
8 楼feixiang1234(飞翔)回复于 2004-09-01 17:38:51 得分 1
不是这里啊,是看在.cs文件里的InitializeComponent()方法里面有没有这个委托。Top
9 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-01 17:39:28 得分 1
<script>要了干吗的呀Top
10 楼TTOTT()回复于 2004-09-01 17:40:36 得分 0
各位大侠,我没有说清楚,但也可以看出来吧,我用的是用户控件的方法来分的
是以.ascxO 后缀的Top
11 楼TTOTT()回复于 2004-09-01 17:40:44 得分 0
各位大侠,我没有说清楚,但也可以看出来吧,我用的是用户控件的方法来分的
是以.ascx后缀的Top
12 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-01 17:43:28 得分 5
http://blog.csdn.net/rickjelly2004/archive/2004/03/24/22246.aspx
你看看我做的呢??这个是用户控件。Top
13 楼TTOTT()回复于 2004-09-01 17:44:16 得分 0
To:rickjelly2004(rick & jelly)
????????????????????????!!!!!!!!!!!!!!!!!!!!!!!!!!11Top
14 楼guxiangdefeng(严肃的野狗)回复于 2004-09-01 17:55:25 得分 5
用户控件的话可以看见OnPageIndexChanged事件,直接写在里面
也可以委托事件,比如有一个按钮
AddHandler btnNavFirst.Click, AddressOf NavigationButtonClick
Public Sub NavigationButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
.....
End Sub
你写在OnPageIndexChanged="DataGrid1_Page"里,
多半DataGrid1_Pa被认为是js了Top
15 楼TTOTT()回复于 2004-09-01 18:00:42 得分 0
不会吧,我把这个网的功能实现了,就是照着改代码的,成功了一个了,但是这个麻烦了点就出了问题,请大家再看看我的代码先,希望和大家交朋友 !!QQ120547173Top
16 楼passacaglia(神秘园)回复于 2004-09-01 18:22:14 得分 65
<script language="c#" runat=server>
runat=server掉了!!!!!!!Top
17 楼TTOTT()回复于 2004-09-01 18:32:19 得分 0
虽说你信誉低了,但是你解决了问题,这么多高人回答的都是,唉,还两颗星了!!!!!!!!!!!Top




