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