Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Prendere il valore di una label nell'itemcommand

    Ho un datagrid. Nell'itemcommand devo prendere il valore di una label con questo formato:
    codice:
    <label text='xxx' id='mialbl'></label>
    Se fosse nel formato
    codice:
    <label id='mialbl'>xxx</label>
    farei:
    codice:
    						object o = e.Item.FindControl("mialbl"); 
    						if (o != null && o is Label) 
    						{ 
    							Label otb2 = (Label)o; 
    							DataBoundLiteralControl lc = (DataBoundLiteralControl)otb2.Controls[0]; 
    Response.Write(lc.Text);
    Essendo che per altri motivi la label la voglio nel primo formato come posso fare?

  2. #2
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    UP

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            If Not Me.IsPostBack Then
                libreria.DataBind(Me.DataGrid1, StringaConnessioneTest, "select * from campi", "id")
            End If
        End Sub
    
        Protected Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
            Me.Label2.Text = DirectCast(e.Item.FindControl("Label1"), Label).Text
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="false" OnItemCommand="DataGrid1_ItemCommand">
                <Columns>
                    <asp:TemplateColumn HeaderText="testo">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("testo") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateColumn>
                    <asp:ButtonColumn ButtonType="LinkButton" Text="trova label"></asp:ButtonColumn>
                </Columns>
            </asp:DataGrid>
        </div>
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        </form>
    </body>
    </html>
    Pietro

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Allora vediamo di tornare alla normalità!

    ho fatto:
    codice:
    string tg = DirectCast(e.Item.FindControl("lbl1"), Label).Text;
    E ho BEN 2 errori...

    Su directcast dice: The name 'DirectCast' does not exist in the class or namespace...
    Su Label dice: 'System.Web.UI.WebControls.Label' denotes a 'class' where a 'variable' was expected

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    c#
    codice:
    <%@ Page Language="C#" %>
    <%@ Import Namespace="l=libreria.ModuloWeb" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack) l.DataBind(this.DataGrid1, MioModulo.StringaConnessioneTest, "select * from campi", "id");
        }
    
        protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            object o = e.Item.FindControl("Label1");
            if (o is Label) this.Label2.Text = ((Label)o).Text;
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="false" OnItemCommand="DataGrid1_ItemCommand">
                    <Columns>
                        <asp:TemplateColumn HeaderText="testo">
                            <ItemTemplate>
                                <asp:Label ID="Label1" runat="server" Text='<%#Eval("testo") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateColumn>
                        <asp:ButtonColumn ButtonType="LinkButton" Text="trova label"></asp:ButtonColumn>
                    </Columns>
                </asp:DataGrid>
            </div>
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        </form>
    </body>
    </html>
    Pietro

  6. #6
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    ma si ma si ma siiiii
    FUNZIONAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    (L'allegato poi ti funzia?)

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Sonikag
    ma si ma si ma siiiii
    FUNZIONAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    (L'allegato poi ti funzia?)
    ma si che mi funziona
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.