myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Webmaster Talk > Entwicklung & Programmierung
Seite neu laden

ASP.Net RadioButtonList SelectedIndexChanged in Masterseite lädt nach Contentseite

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 26.02.15, 13:03   #1
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard ASP.Net RadioButtonList SelectedIndexChanged in Masterseite lädt nach Contentseite

Hallo Zusammen!
Im Rahmen der Projektvorgaben programmiere ich ausschließlich in VB.Net und nicht in C#

Aufbau:
Meine aktuelle Seite besteht aus 2 MasterPages und 1 ContentPage
Site.master(1) > Default.master(2) > Content.aspx(3)
(Hinter jeder Seite befindet sich Code gleichnamig mit Anhang .vb)
Die 3-Schichtige Hierarchie deshalb, da ich neben der Site.master auch in Default.master navigieren möchte und es durch Codeauftrennung übersichtlicher wird.

Problem:
Nachdem man in Default.master(2) auf einen RadioButton(List) klickt, wird die Methode "AbteilungButtonList_SelectedIndexChanged" erst dann aufgerufen, nachdem meine Content.aspx(3) geladen wurde, allerdings möchte ich zuerst abhängig der Auswahl einen Wert in die aktuelle Session(Cookie) abspeichern, in der Content.aspx-Seite(3) rufe ich unter anderem Code auf, um Tabellen zu generieren, die abhängig vom ausgewählten Button-Wert sind.

Reihenfolge, wie Seiten geladen werden (Seiten asp.net):
Content.aspx, Default.master, Site.master

Ich habe den Code auf das nötigste komprimiert:

Zitat:
Site.master
Code:
<%@ Master Language="VB" AutoEventWireup="true" CodeFile="Site.master.vb" Inherits="SiteMaster" %>
<!DOCTYPE html>
<html lang="en">
<head runat="server">
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <asp:PlaceHolder runat="server">
        <%: S*****s.Render("~/bundles/modernizr") %>
    </asp:PlaceHolder>
</head>
<body>
    <form runat="server">
        <!-- Content -->
        <div class="container body-content">
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            </asp:ContentPlaceHolder>

        </div>
    </form>
</body>
</html>
Default.master - darunterliegende Masterseite
Code:
<%@ Master Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Default.master.vb" Inherits="Content_TableDummy" Codebehind="~/Default.master.vb"%>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<div class="jumbotron">
        <p class="lead">Tabellenvorlage: <a><asp:Literal runat="server" EnableViewState="false" ID="txtValueA" /></a></p>
        <div id="borderless">
                 <!-- AutoPostBack=True, sodass Code ausgeführt wird -->
                 <asp:RadioButtonList ID="AbteilungButtonList" runat="server" AutoPostBack="true"  RepeatDirection="Horizontal" OnSelectedIndexChanged="AbteilungButtonList_SelectedIndexChanged" >
                    <asp:ListItem text="Montage" value="Montage"/>
                    <asp:ListItem text="Elektronik" Value="Elektronik"/>
                    <asp:ListItem text="Lack" Value="Lack"/>
                    <asp:ListItem text="Sensorik" Value="Sensorik"/>
                    <asp:ListItem text="Kunststoff" Value="Kunststoff"/>
                </asp:RadioButtonList>    
        </div>
        <div>
            <!-- Tabellen -->
            <asp:ContentPlaceHolder ID="TableContent" runat="server">
            </asp:ContentPlaceHolder>
            <!-- Tabelle Auswahllogik -->
      </div>
</asp:Content>
Default.master.vb - Codebehind
Code:
Partial Class Content_TableDummy
    Inherits System.Web.UI.MasterPage
    Protected Sub AbteilungButtonList_SelectedIndexChanged(sender As Object, e As EventArgs)
        ' RadioButton Auswahl in Session abspeichern
        Dim abteilung As String
        abteilung = AbteilungButtonList.SelectedValue                     ' Test
        System.Web.HttpContext.Current.Session("Abteilung") = abteilung             ' Schreibe ausgewählten Wert in Session("Abteilung") '
    End Sub
End Class

Content.aspx - Contentseite
Code:
<%@ Page Language="VB" MasterPageFile="~/Default.master" AutoEventWireup="false" CodeFile="Content_Default.aspx.vb" Inherits="Content_Default" %>

<%-- Add content controls here --%>
<asp:Content ID="Content1" ContentPlaceHolderID="TableContent" runat="server">
<!-- Tabellenvorlage -->
                <asp:Table ID="overviewtable" CssClass="Status" runat="server">
                </asp:Table>
</asp:Content>
Content.aspx.vb
Code:
Partial Class Content_Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim x As String
        Dim stationAr As String(,)
        ' Erkennen, welcher ratio-button angeklickt wurde von Default.master - Session(Cookie)'
        x = System.Web.HttpContext.Current.Session("Abteilung")
        If Len(x) > 0 And Len(x) < 15 And Not InStr("Nothing", x) Then              
' Falls Wert "Abteilung" belegt, schicke an RequestHandler.PushAbteilungChoice
            Dim instance As New RequestHandler()
            stationAr = instance.PushAbteilungChoice(x)
        End If
' Anschließend Befülle Tabelle mit stationAr
    End Sub
End Class











__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 26.02.15, 15:10   #2
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Es gibt die Lösung, in der Default.master.vb ein Redirect durchzuführen, allerdings ist das HTML-Literal txtValueA nach dem Reload unbefüllt.

Code:
default.master.aspx
<asp:Literal runat="server" EnableViewState="false" ID="txtValueA" /></a></p>
        <div id="borderless">
--------------------
default.master.vb
txtValueA.Text = abteilung
Response.Redirect("~/Content/Content")
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 04.03.15, 13:09   #3
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Ich mache das gerade als Ferienjob und da vb.net nicht zu meinen Hauptprogrammiersprachen gehört und ich ASP.Net zum ersten Mal sehe, finde ich nicht, dass das so schlimm aussieht.

Dennoch würde ich mich über eine Erklärung für besseres Anwenden freuen...
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr.


Sitemap

().