55 messaggi dal 29 ottobre 2008
Salve a tutti..
Avrei bisogno del vostro aiuto se è possibile,il mio problema è il seguente:
Devo realizzare una pagina che al suo caricamento visuallizza una Notizia in un gridview,questo ultimo ha un bottone che a secondo della notizia deve generare i rispettivi commenti in un altro GridViewCommenti.
I due gridview sono uno sotto l'altro:
Esempio:
GridView che visualizza Notizia con il suo bottone.
Gridview con paging che visualizza commenti relativi alla notizia al cliccare del bottone.
Supposto che vogio visualizzare un commento alla volta tenendo sempre in vista la notizia,navigando con il paging quindi cliccando il commento due,succede che invece di visualizzarmi notizia + commento due mi visualizza solo la notizia cosi come si era al caricamento della prima volta della pagina.

Domanda:come faccio a gestire il postback del pulsanti di paging?
grazie.
è difficile essere prececi son cosi poche informnazioni, comunuque, il ViewState è abilitato? perche se pagini un GridView l'altro non dovrebbe cambiare, puoi postare parte del merkup semplificato magari specificando che sorgente dati usi?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
55 messaggi dal 29 ottobre 2008
Ecco qua:

Pagina Aspx
----------------------------->
<%@ Page Language="C#" MasterPageFile="~/AppMaster.master" AutoEventWireup="true"
CodeFile="ArchivioPage.aspx.cs" Inherits="ArchivioPage" Title="ArchivioPage" %>


<asp:Content ID="Content1" ContentPlaceHolderID="mainCopy" runat="Server">
<div class="container">
&nbsp; &nbsp;&nbsp;&nbsp;
<asp:Label ID="LabelMese" runat="server" Text="Label" Width="89px" ></asp:Label>
<asp:Label ID="LabelCateg" runat="server" Text="Label" Width="97px" ></asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;
<br />


<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" PageSize ="1" Width="391px"
DataSourceID="AccessDatBase" GridLines="Horizontal" DataKeyNames="IdContatore" BackColor="#FFE0C0" ShowFooter="True" onrowcommand="CustomersGridView_RowCommand">
<Columns>
<asp:TemplateField >
<ItemTemplate >
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Titolo") %>' Width="358px" BackColor="#C00000" ForeColor="White"></asp:Label>
<hr />
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Comunicato") %>' Width="354px"></asp:Label>
<hr />
<asp:Label ID="Label7" runat="server" Text="Postato da:" Width="63px"></asp:Label>
<asp:Label ID="Label8" runat="server" Text='<%# Eval("PostatoDa") %>'></asp:Label>
<asp:Label ID="Label9" runat="server" Text="in"></asp:Label>
<asp:Label ID="Label10" runat="server" Text='<%# Eval("Categoria") %>' Font-Overline="False" Font-Underline="True"></asp:Label>
<br />
<br />
<asp:Button ID="Button1" runat="server" CommandName="select" CommandArgument='<%# Eval("IdContatore") %>' Text="Commenti" Width="88px" Font-Bold="True" ForeColor="White" OnClick="Button1_Click" BorderColor="Black" BorderStyle="Solid" ValidationGroup="BottoCommento" />
<asp:Label ID="Label3" runat="server" ForeColor="Red" Text=" ("></asp:Label>


<asp:Label ID="Label5" runat="server" ForeColor="Red" Text=" )"></asp:Label>&nbsp;&nbsp;
<asp:Label ID="Label11" runat="server" Text="|" Width="1px"></asp:Label>
&nbsp;&nbsp;
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click1" Text="Scrivi Commento"
Width="114px" CommandName="scrivi" CommandArgument='<%# Eval("IdContatore") %>' ForeColor="White" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" Font-Bold="True"/>&nbsp;
<asp:Label ID="Label12" runat="server" Text="|" Width="1px"></asp:Label>&nbsp;&nbsp;
<asp:Label ID="lbId" runat="server" Text='<%# Eval("IdContatore") %>'></asp:Label>

<hr />
<asp:LinkButton ID="LinkButton2" runat="server" Width="38px">Iscriviti</asp:LinkButton>&nbsp;
&nbsp;<asp:Label ID="Label13" runat="server" Text="|" Width="1px"></asp:Label>
&nbsp;
<asp:LinkButton ID="LinkButton3" runat="server">Invio a un Amico</asp:LinkButton>
<asp:Label ID="Label15" runat="server" Text="|"></asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;

<hr />

</ItemTemplate>

</asp:TemplateField>
</Columns>
</asp:GridView>

<br />

<asp:AccessDataSource ID="AccessDatBase" runat="server" DataFile="~/DataBase.mdb"
SelectCommand="SELECT Titolo, Mese, Categoria, Comunicato, IdContatore,PostatoDa FROM Categoria WHERE (Mese = ?) AND (Categoria = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="LabelMese" Name="Mese" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="LabelCateg" Name="Categoria" PropertyName="Text"
Type="String" />
</SelectParameters>
</asp:AccessDataSource>

<asp:Label ID="Label17" runat="server" Text='<%# Eval("CountIdCommenti") %>'></asp:Label>
<asp:Label ID="Label6" runat="server" Width="63px"></asp:Label>
<asp:Label ID="Label4" runat="server" Width="89px"></asp:Label><br /><br />
<asp:Label ID="Label16" runat="server" Width="153px"></asp:Label><br />

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID="AccessDataSource1" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal" PageSize="1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table style="width: 353px" title="Prova">
<tr>
<td>
<asp:Label ID="Label19" runat="server" Text='<%# Eval("Commento") %>' Width="336px"></asp:Label>
<hr />
</td>

</tr>

<tr>
<td>
<asp:Label ID="Label20" runat="server" Text="Postato da:"></asp:Label>
<asp:Label ID="Label21" runat="server" Text='<%# Eval("Nome") %>'></asp:Label>
</td>

</tr>
<tr>
<td>
</td>
</tr>
</table>
<br />

</ItemTemplate>

</asp:TemplateField>

</Columns>
</asp:GridView>
<hr />
<br />

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/DataBase.mdb"
SelectCommand="SELECT Commento,Nome FROM Commenti WHERE (IdCommenti = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="Label6" Name="IdCommenti" PropertyName="Text" Type="Int32" />
</SelectParameters>
</asp:AccessDataSource>

</div>

</asp:Content>
---------------------->
Codice:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

public partial class ArchivioPage : System.Web.UI.Page
{


// parte nuova
private OleDbConnection cnOleDb;
private OleDbCommand SelectCommand;

private OleDbDataReader DataReader;
private System.Data.Common.DbConnection myConnection;
string ContaCom;
int indexRow;

protected void Page_Load(object sender, EventArgs e)
{

LabelMese.Text = (string)Application["Mese"];
LabelCateg.Text = (String) Application["Categoria"];
Label6.Text = ""; Label16.Text = "";

}



protected void CustomersGridView_RowCommand(object sender,
GridViewCommandEventArgs e)
{

//Verifico che il pulsante a cui si è fatto click è quello giusto

if (e.CommandName == "select")
{
//Indice riga
int index = Convert.ToInt32(e.CommandArgument);
string Param = e.CommandArgument.ToString();

int indexRow = Convert.ToInt32(e.CommandArgument);
//Recupero riga

Application ["Id"] = indexRow;
Label6.Text = Application["Id"].ToString();

}
if (e.CommandName == "scrivi")
{
//Indice riga

int indexRow = Convert.ToInt32(e.CommandArgument);
//Recupero riga

Application["Id"] = indexRow;


Response.Redirect("ScriviCommenti.aspx");
}
}

protected void Button1_Click(object sender, EventArgs e)
{
Label16.Text = "<Strong>Commenti</Strong>:";

}



protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("ScriviCommenti.aspx");
}
protected void Button2_Click1(object sender, EventArgs e)
{
Label16.Text = "Commenti";
}
protected void LinkButton1_Click(object sender, EventArgs e)
{

}
}

Grazie.
fammi capire, va fai un Response.Redirect("ScriviCommenti.aspx");
per scrivere il commento?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
55 messaggi dal 29 ottobre 2008
Si certo,ma cliccando quel tasto non ho problemi.
Il problema si presenta quando vado a cliccare il paging del secodno gridView(quello che visualizza i commenti relativi alla notizia(notizia nel primo gridvie).
Spero di essere stato chiaro...riesci ad aiutarmi?
grazie mille.
è nel metodo CustomersGridView_RowCommand che leghi GridView1 e GridView2?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
scommetto che quando pagini non superi l'if, secondo me devi modificare quel codice, controlla il ciclo di vita della pagina, e comunque assicurati che il ViewState sia abilitato

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.