Avatar billede bamfcoyote Nybegynder
26. oktober 2008 - 13:45 Der er 3 kommentarer og
1 løsning

skjule placeholder

Jeg har et problem, jeg har en placeholder i min master page som default er sat til visible = False;

Men hvordan kan jeg ved postback i min function som er placeret i code filen til den side der bruger master page'en gøre den placeholder synlig.
Avatar billede thesurfer Nybegynder
26. oktober 2008 - 16:14 #1
Du kan sætte den til Visible = True?

Du har ikke skrevet hvilket sprog du programmerer i, men her er et Eksempel:

contentplaceholderID.Visible = True

hvor "contentplaceholderID" er ID'et på din contentplaceholder..
Avatar billede thesurfer Nybegynder
26. oktober 2008 - 16:15 #2
Mon man kan udlede at du bruger C#, da du har skrevet "visible = False;" (semikolon)..? :-)
Avatar billede bamfcoyote Nybegynder
27. oktober 2008 - 07:55 #3
Du har ret det er c#.
jeg har prøvet med contentplaceholderID.Visible = True;
men jeg får denne fejl :
The name 'info' does not exist in the current context

og info er placeholderens id ?

du kan se min kode her under:

master:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="info"  visible="false" runat="server">
       
        </asp:ContentPlaceHolder>
       
        <asp:ContentPlaceHolder id="content" runat="server">
       
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

page:

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

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<style type="text/css">
    #infoboxen
    {
        width:200px;
        height:200px;
        background-color:#000000;
        display:block;
        color:#ffffff;
        font-family:Verdana;
        font-weight:bold;
        font-size:11px;
        padding:20px;
        }
   
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="info" Runat="Server">
  <div id="infoboxen">
      <asp:Label id="infobox" runat="server"></asp:Label>
    </div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="content" Runat="Server">
<form id="form1" runat="server"> 
    <asp:LinkButton ID="LinkButton1" OnClick="test_me" runat="server" >click me</asp:LinkButton>
</form>
</asp:Content>


page code file:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

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

    }
    protected void test_me(object sender, EventArgs e)
    {

        info.Visible = true;
        infobox.Text = "some text";
    }
}
Avatar billede bamfcoyote Nybegynder
27. oktober 2008 - 08:45 #4
Jeg har selv fundet løsningen.

linjen

info.Visible = true;

skal være

this.Master.FindControl("info").Visible = true;
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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