“***”不包含“pnlMenu”的定义

时间:2016-12-19 10:27:12

标签: asp.net database

我试图从我的数据库中获取信息到我的html中,我几乎就在那里。但出于某种原因,当我尝试了一些东西时,一切都向南,它不想抓住任何东西,我不知道为什么。我上传了所有代码。是的,我知道是凌乱的。

ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="home.aspx.cs" Inherits="home" %>

 <!DOCTYPE html>

 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
<title> Micha de Haan's Portfolio </title>
<link href="styles/main.css" rel="stylesheet">
 <meta name="viewport" content="width=device-width, initial-scale=0.8">
</head>
<body>
<form id="form1" runat="server">

<!--    Alles tussen de header is de balk bovenin -->

<header>
<div class="ijzerenman"><a href="http://www.deijzerenman.nl/" ><img src="http://www.deijzerenman.nl/logo/logo.png" Width:="60px" height="60px"></a>    </div>
 <div class="verzekering"><a href="http://www.veenstradejong.nl/"target="_blank"><img src="styles/Logo.png" Width:="60px" height="60px"></a></div>

 <h1>
 <strong>Welkom op mijn portfolio</strong>
</h1>
 <ul>
          <asp:Panel ID="pnlMenu" runat="server"></asp:Panel>

<%--     <div class="current1"><li><a href =" home.aspx.?    pageId=start">Home</a></li></div>
 <div class="orange"><li><a href="home.aspx.?pageId=overmij">Over mij</a></li></div>
 <div class="red"><li><a href="home.aspx.?pageId=logboek">Logboek</a></li></div>
 <div class="green"><li><a href="home.aspx.?pageId=ervaring">Ervaring</a></li></div>
 <div class="blue"><li><a href="home.aspx.?pageId=familie">Familie</a></li></div>
1-tabel aanmaken 'menu' met kolommen id, titel, pageid, kleur
2- daarna vullen met bovenstaande paginas
3 - alle records ophalen en doorlopen
4 -tijdens doorlopen stroing itemsoptellen
string strMenu += String.Format( @"<div class=\"{0}\"><li><a href=\"home.aspx.?pageId={1}\">{2}</a></li></div>", strKleur, strPageId, strTitle);
5- strMenu in literalcontrol
6 - toevoegen aan panel


--%>

 </ul>

<%

    string pageId = Request.QueryString["pageId"];
    if (pageId == null || pageId == "") pageId = "start";

     %>

   </header>
   </form>
   </body>
   </html>

ASPX.CS

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
 using System.Web.UI.WebControls;

public partial class home : System.Web.UI.Page
{


protected void Page_Load(object sender, EventArgs e)
{
    string pageId = Request.QueryString["pageid"];
    //Vraagt de QueryString aan die in de url wordt aangegeven
    if (pageId == null) pageId = "start";
    // als de pageid Querystring niets is, dan is de pageId "start"
    string connectionString = ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString;
    //zet de connectiestring "dbCon", zodat de gebruiker bij aanpasbare informatie kan
    SqlConnection con = new SqlConnection(connectionString);
    //maakt een nieuwe instantie aan van een SqlConnection. dit is een representatie van een open verbinding aan SQL Databases.
    SqlCommand cmd = new SqlCommand("select * from Menu", con);
    //een command die wordt gestuurd naar de database, die vraagt om * te selecten van Menu, waar de * con is, en Menu de Menu database.

    SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
    //Representeert een set van commands en een database connectie die worden gebruikt om een DataSet ( Een "cache" van data in het geheugen ) en om een SQL Database te updaten.
    DataSet dataSet = new DataSet();
    //  een "cache" van data in het geheugen
    dataAdapter.Fill(dataSet);
    //refresht en updated de rijen in een database
    DataTable table = dataSet.Tables[0];
    // pakt de tabels in de dataset, en loopt constant tot er geen tables meer te krijgen zijn.

    String content = "";
    //zet string content naar niets
    foreach (DataRow row in table.Rows)// Voor elke rij in table.rows (alle rijen in de table) pakt hij de kleur, pageId en Titel, en zet ze inplaats van de nummers.
    {
        content += string.Format(@"<div class=""{0}""><li><a href=""home.aspx.?pageId={1}"">{2}</a></li></div>", row["Kleur"], row["PageId"], row["Titel"]);

    }
    this.pnlMenu.Controls.Add(new LiteralControl(content));//zet de resultaten van de content string in het html bestand, waar de pnlMenu wordt gerefrenced.
}
}

1 个答案:

答案 0 :(得分:1)

看起来您错过了代码中的namespace,在此代码段中myProject命名空间。看起来应该是这样的

using System;

namespace myProject
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

这也应该存在于aspx文件头Inherits属性

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="myProject.WebForm1" %>

你可能偶然删除了一些东西。最简单的方法是创建一个新页面并复制粘贴所有代码。