Avatar billede mikkel251 Seniormester
26. juli 2016 - 21:25

Dynamisk navigation

Hej eksperter.
jeg har lavet en dynamisk navigation og jeg er ikke helt klar over hvordan jeg lige gør når jeg skal vise indhold på siderne, jeg har lavet et par paneler og så tjekker jeg på side id og hver panel vises under hver sit side id, jeg ved ikke helt om det er rigtig.
i kan lige se mine koder

HTML
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="side.aspx.cs" Inherits="side" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

    <div class="container">
        <%-- panelet kontakt --%>
        <asp:Panel ID="pnlKontakt" DefaultButton="btnSend" runat="server">
            <div class="row">
                <div class="col-sm-6">
                    <h4>Kontakt mig</h4>
                    <p>Kontakt mig for at få et tilbud på en hjemmeside</p>
                    <%-- Navn --%>
                    <asp:Label ID="lblNavn" runat="server" Text="Dit navn" />
                    <br />
                    <asp:TextBox ID="txtNavn" ValidationGroup="kontakt-formular" placeholder="Dit navn" CssClass="form-control" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvNavn" ControlToValidate="txtNavn" CssClass="error" Display="Dynamic" ValidationGroup="kontakt-formular" runat="server" ErrorMessage="Du mangler at udfylde feltet!" />
                    <br />
                    <asp:Label ID="lblEmail" runat="server" Text="Din Email" />
                    <br />
                    <asp:TextBox ID="txtEmail" ValidationGroup="kontakt-formular" placeholder="Din email" CssClass="form-control" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvEmail" ControlToValidate="txtEmail" CssClass="error" Display="Dynamic" ValidationGroup="kontakt-formular" runat="server" ErrorMessage="Du mangler at udfylde feltet!" />
                    <br />
                    <asp:Label ID="lblBesked" runat="server" Text="Din Besked" />
                    <br />
                    <asp:TextBox ID="txtBesked" ValidationGroup="kontakt-formular" TextMode="MultiLine" Rows="8" Columns="8" placeholder="Din Besked" CssClass="form-control" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvBesked" ControlToValidate="txtBesked" CssClass="error" Display="Dynamic" ValidationGroup="kontakt-formular" runat="server" ErrorMessage="Du mangler at udfylde feltet!" />
                    <br />
                    <asp:Button ID="btnSend" CssClass="btn btn-danger" ValidationGroup="kontakt-formular" OnClick="btnSend_Click" runat="server" Text="Send" />
                </div>
                <div class="col-sm-2"></div>
                <div class="col-sm-4">
                    <h4>Mikkel Pohjola</h4>
                    <asp:Literal ID="litProfil" runat="server" />
                    <%--<img src="img/profil/mikkel.jpg" style="width: 78%;" />--%>
                </div>
            </div>

        </asp:Panel>




        <%-- panelet referencer --%>
        <asp:Panel ID="pnlReference" runat="server">
            <div class="row">
                <h4>Mit arbejde</h4>
                <asp:Literal ID="litReference" runat="server" />
            </div>
        </asp:Panel>

        <%-- panelet om mig --%>
        <asp:Panel ID="pnlOmMig" runat="server">
            <div class="container">
                <div class="row">
                    <p>indhold</p>
                </div>
            </div>
        </asp:Panel>

    </div>

</asp:Content>

CODEBEHIND:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class side : System.Web.UI.Page
{
    SideIndholdFac objSider = new SideIndholdFac();
    protected void Page_Load(object sender, EventArgs e)
    {
        #region panelet-navigation
        //hent først navigation
        objSider._id = Convert.ToInt32(Request.QueryString["sideID"]);
        DataTable dtNav = objSider.HentNavigationID();
        if (!string.IsNullOrEmpty(Request.QueryString["sideID"]))
        {

            DataTable dtHentIndhold = objSider.hentSideIndhold();
            if (Convert.ToInt32(dtHentIndhold.Rows[0]["fldSideID"].ToString()) == 1)
            {
                pnlKontakt.Visible = false;
                pnlOmMig.Visible = false;
                pnlReference.Visible = true;
            }
            else if (Convert.ToInt32(dtHentIndhold.Rows[0]["fldSideID"].ToString()) == 2)
            {
                pnlKontakt.Visible = true;
                pnlReference.Visible = false;
                pnlOmMig.Visible = false;
            }

            else if (Convert.ToInt32(dtHentIndhold.Rows[0]["fldSideID"].ToString()) == 3)
            {
                pnlKontakt.Visible = false;
                pnlReference.Visible = false;
                pnlOmMig.Visible = true;
            }
        #endregion

            #region panel-Reference
            //Panel reference
            DataTable DtReference = objSider.ReferencerOrderBY();

            foreach (DataRow drMenu in DtReference.Rows)
            {
                litReference.Text += "<div class='col-sm-4'>";
                litReference.Text += "<div class='thumbnail'>";
                litReference.Text += "<a data-lightbox='reference-img' href='../img/referencer/" + drMenu["fldImg"] + "'>" + "<img src='../img/referencer/" + drMenu["fldImg"] + "' class='slider-Img'/></a>";
                litReference.Text += "<div class='caption'>";
                litReference.Text += "<h5>" + drMenu["fldOverskrift"] + "<h5>";
                litReference.Text += "<a href='" + drMenu["fldLink"] + "'class='btn btn-danger' role='button'>Vis hjemmeside</a>";
                litReference.Text += "</div>";
                litReference.Text += "</div>";
                litReference.Text += "</div>";
            }
            #endregion

            #region profil-billede
            //DataRow drProfil
                    //<img src='img/profil/mikkel.jpg' style='width: 78%;' />
           
            #endregion
        }
    }
    protected void btnSend_Click(object sender, EventArgs e)
    {

    }
}

METODE:
  public DataTable HentNavigationID()
    {
        cmd = new SqlCommand("SELECT * FROM web17Nav WHERE fldID=@id");
        cmd.Parameters.AddWithValue("@id", _id);
        return DA.GetData(cmd);
    }

Næste metode
  public DataTable hentSideIndhold()
    {
        cmd = new SqlCommand(@"SELECT web17Nav.fldId,
                                web17Nav.fldSideID,
                                web17Nav.fldTitel,
                                web17Nav.fldUrl,
                                web17reference.fldId,
                                web17reference.fldOverskrift,
                                web17reference.fldImg
                                FROM
                                web17Nav
                                LEFT JOIN
                                web17reference
                                ON
                                web17Nav.fldSideID = web17reference.fldId WHERE web17Nav.fldSideID = @id");
        cmd.Parameters.AddWithValue("@id", _id);
        return DA.GetData(cmd);
    }

Sidste metode
public DataTable ReferencerOrderBY()
    {
        cmd = new SqlCommand("SELECT * FROM web17reference ORDER BY fldId DESC");
        return DA.GetData(cmd);
    }

jeg ved ikke lige helt hvordan jeg skal gribe den an, det jeg har lavet virker, men det er textbox controllerne jeg ikke ved hvordan man får vist på F.eks kontakt siden når man gør det på den her måde, så jeg er lidt i vildrede med det her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester