Mon problème est le suivant, je veux mettre les enregistrements d'un dataset dans un datagrid mais je veux gérer plusieurs pages, c-à-d que si on a plus de 10 enregistrements on devra avoir une autre page avec un lien. Mon souci c'est que les variables que j'ai déclaré n'ont plus de valeur quand je les récupére dans mon code côté serveur. Voilà mon code :
<script language="C#" runat="server">
public string sqlnews = "";
public DataSet DsNews = null;
</script>
<%
//connection à la base de la zone en cours
AccesBase AccesBdZone = new AccesBase();
AccesBdZone.InitAccesBase(infoconn,chembdzone);
sqlnews = "select * from news";
DsNews = AccesBdZone.ExecuteSql("news",sqlnews,null);
%>
<script language="C#" runat="server">
ICollection Init_View(){
return DsNews.Tables["news"].DefaultView;
}
void Page_Load(Object sender, EventArgs e)
{
BindGrid();
}
void GridDsNews_Page(Object sender, DataGridPageChangedEventArgs e)
{
GridDsNews.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
void BindGrid()
{
GridDsNews.DataSource = Init_DsNews();
GridDsNews.DataBind();
}
</script>
<form runat="server" ID="FormGrid">
<asp:DataGrid id="GridDsNews" runat="server" AllowPaging="true" PageSize="10" On pageIndexChanged="GridDsNews_Page" BorderColor="black" GridLines="Both" CellPadding="3" CellSpacing="0" Font-Name="Verdana" Font-Size="8pt">
<PagerStyle Mode="NumericPages" HorizontalAlign="Right"></PagerStyle>
<HeaderStyle BackColor="#aaaadd"></HeaderStyle>
<AlternatingItemStyle BackColor="#eeeeee"></AlternatingItemStyle>
</asp:DataGrid>
</form>
Sur la fonction Init_View(), j'appelle DsNews, mais j'ai l'erreur suivante "La référence d'objet n'est pas définie à une instance d'un objet", alors que je l'ai bien déclaré en haut, et instancié dans le code.
Pourriez-vous m'aider s'il vou plait. Merci