Link con passaggio dati in DataList

martedì 25 novembre 2008 - 12.24

freebreathe Profilo | Newbie

Altro quesito, sempre sul Datalist del post precedente. Riporto nuovamente il codice:


<asp:datalist id="DataList1" runat="server" datakeyfield="idHomePage_Rubrica" datasourceid="ObjectDataSource1" onselectedindexchanged="DataList1_SelectedIndexChanged">
<ItemTemplate>
<asp:Image id="Image1" runat="server" __designer:wfdid="w98" ImageUrl='<%# "~/img/" + Eval("testatina")+ "-RUB.gif"%>'></asp:Image><BR />
<asp:LinkButton id="LinkButton1" runat="server" __designer:wfdid="w99" Text='<%# Eval("titoloArticolo") %>' PostBackUrl="News.aspx?id={0}"></asp:LinkButton> <BR />
<asp:Label id="titoloArticoloLabel" runat="server" __designer:wfdid="w100" Text='<%# Eval("titoloArticolo") %>'></asp:Label> <BR />
<asp:Label id="nomeAutoreLabel" runat="server" __designer:wfdid="w101" Text='<%# Eval("nomeAutore") %>'></asp:Label><BR />
<asp:Label id="qualificaAutoreLabel" runat="server" __designer:wfdid="w102" Text='<%# Eval("qualificaAutore") %>'></asp:Label> <BR /><asp:Label id="testatinaLabel" runat="server" __designer:wfdid="w103" Text='<%# Eval("testatina") %>' Visible="False"></asp:Label>
<asp:Label id="Label1" runat="server" __designer:wfdid="w104" Text='<%# Eval("idArticolo") %>' Visible="False"></asp:Label>
</ItemTemplate>
</asp:datalist> <asp:objectdatasource id="ObjectDataSource1" runat="server" oldvaluesparameterformatstring="original_{0}"
selectmethod="GetData" typename="dsHomePageTableAdapters.HomePage_OpinioneTableAdapter"></asp:objectdatasource>



Il LinkButton1 deve collegarsi alla pagina News.aspx?id={0} passando come valore idArticolo.
Come faccio a passare il dato?

balfaz Profilo | Expert

aggiunge questa proprieta CommandAgument, qui potrai inserire l'id del tuo prodotto, nel codebehind (nell'evento del linkbutton) richiami il valore della proprieta CommanArgument

Markup
<asp:LinkButton id="LinkButton1" runat="server" __designer:wfdid="w99" Text='<%# Eval("titoloArticolo") %>' PostBackUrl="News.aspx?id={0}" CommandArgument='<%# eval("idProdotto")%>'></asp:LinkButton>

Codice, ad esempio
reponse.redirect("miosito.aspx?idprd=" + e.commandArgument)

spèero ti serva, magari qualche errorino puo esserci, l'ho fatto al volo
"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."

freebreathe Profilo | Newbie

Non va bene perchè in fase di compilazione mi restituisce degli errori

balfaz Profilo | Expert

puoi postare un po di codice e anche gli errori
"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."

freebreathe Profilo | Newbie

Questo è il link button

<asp:LinkButton id="LinkButton1" onclick="LinkButton1_Click" runat="server" __designer:wfdid="w51" CommandArgument='<%# Eval("idArticolo") %>' Text='<%# Eval("titoloArticolo") %>' OnCommand="LinkButton1_Click" CommandName="Order"></asp:LinkButton>




Questo il codice della pagina in c#

void LinkButton_Command(Object sender, CommandEventArgs e)
{
Response.Redirect("../news.aspx?id=" + e.CommandArgument);
}


Ora non restituisce errori, ma se premo il link torna sempre sulla stessa pagina.

balfaz Profilo | Expert

ooopppss , mi sono sbagliato invece di e usa il sender
sender.commandargument

ti chiedo scusa

"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."

freebreathe Profilo | Newbie

io scrivo così

void LinkButton_Command(Object sender, CommandEventArgs e)
{
Response.Redirect("../news.aspx?id=" + sender.CommandArgument);
}

Ma quando compilo mi da questo errore:

Object non contiene una definizione per CommandArgument

balfaz Profilo | Expert

non so molto di c# ma qui ti mando queste righe, spero ti risolva il problema

LinkButton lnkX = (LinkButton) sender;
Response.Redirect("default.aspx?id=" + lnkX.CommandArgument);


"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5