Přístup k vlastnosti RadioButtonList ve FormView   otázka

ASP.NET WebForms

Dobrý den, mohl by mi, prosím někdo poradit?

Potřebuji schovávat a zobrazovat různá pole na formuláři podle výběru v RadioButtonList, který se načítá z databáze. Po výběru patřičné volby by se měli zobrazit/schovat (nebo pojmenovat) další prvky ve vstupním formluáři.

Pořád se mi nedaří dostat se k prvkům, které jsou v sekci <LoggedInTemplate> v FormView1. Přikládám co jsem spáchal... :)

<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" %>

<script runat="server">
      
    Protected Sub Zmena()      
        
        Select Case CType(LoginView1.FindControl("typ"), RadioButtonList).SelectedValue            
            Case "1"
                CType(LoginView1.FindControl("vstup1"), DropDownList).Visible = True
                CType(LoginView1.FindControl("vstup2"), DropDownList).Visible = False
                CType(LoginView1.FindControl("vstup3"), DropDownList).Visible = False
                
            Case "2"
                CType(LoginView1.FindControl("vstup1"), DropDownList).Visible = True
                CType(LoginView1.FindControl("vstup2"), DropDownList).Visible = True
                CType(LoginView1.FindControl("vstup3"), DropDownList).Visible = False
            Case "3"
                CType(LoginView1.FindControl("vstup1"), DropDownList).Visible = False
                CType(LoginView1.FindControl("vstup2"), DropDownList).Visible = False
                CType(LoginView1.FindControl("vstup3"), DropDownList).Visible = True
        End Select
    End Sub
    
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:LoginView ID="LoginView1" runat="server">
    <AnonymousTemplate>
        <asp:Login ID="Login1" runat="server">
        </asp:Login>
    </AnonymousTemplate>
    
    <LoggedInTemplate>
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="ID" 
        DataSourceID="SqlDataSource1" DefaultMode="Insert">
          <InsertItemTemplate>
            Vyber typ:
            <asp:RadioButtonList ID="typ" runat="server" 
                DataSourceID="SqlDataSource3" DataTextField="Typ" DataValueField="ID"  OnSelectedIndexChanged="Zmena"
                SelectedValue='<%# Bind("typ"") %>' AutoPostBack="True">
            </asp:RadioButtonList>
            Vstup1:
            <asp:TextBox ID="vstup1" runat="server" Text='<%# Bind("vstup1") %>' />
            <br />
            Vstup2:
            <asp:TextBox ID="vstup2" runat="server" Text='<%# Bind("vstup2") %>' />
            <br />
            Vstup3:
            <asp:TextBox ID="vstup3" runat="server" Text='<%# Bind("vstup3") %>' />
            <br />
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Vložit"  />
            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancel" />
        </InsertItemTemplate>   
       
    </asp:FormView>


    <my:RedirectingSqlDataSource RedirectAfterDataOperation="true" ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:DataConnectionString %>" 
        InsertCommand="INSERT INTO [data] ([typ], [vstup1], [vstup2], [vstup3]) VALUES (@typ, @vstup1, @vstup2, @vstup3)"        
         <InsertParameters>
            <asp:Parameter Name="typ" Type="Int32" />
            <asp:Parameter Name="vstup1" Type="String" />
            <asp:Parameter Name="vstup2" Type="String" />
            <asp:Parameter Name="vstup3" Type="String" />
        </InsertParameters>
    </my:RedirectingSqlDataSource>
    
    </LoggedInTemplate>
    
    </asp:LoginView>

</asp:Content>


nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tady je problém, že komponenta je v LoginView a ještě uvnitř FormView. Pak musíte hledat komponenty hierarchicky:

CType(LoginView1.FindControl("FormView1$vstup1"), TextBox)
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback