Member 9467059 Ответов: 4

Мастер-страница как скрыть div главной страницы в конкретной веб-форме ASP.NET ошибка C#


Header. master - - - & gt;страница


<asp:ContentPlaceHolder ID="cntplcDiv" runat="server"

<div runat="server" id="divCmptMenu">
    <ul id="nav">
                <li><asp:HyperLink ID="hypLnkhome" runat="server" NavigateUrl="~/Admin_Home.aspx">Home</asp:HyperLink></li>
                <li><asp:HyperLink ID="hypLnkconfigSettng" runat="server" >Config & Settings</asp:HyperLink>
                    <ul class="subs">
                        <li><asp:HyperLink ID="hypLnkUsrStng" runat="server" NavigateUrl="~/ListUsers.aspx">User Settings</asp:HyperLink></li>
                        <li><asp:HyperLink ID="hypLnkprdStng" runat="server" Text="Production Settings"></asp:HyperLink></li>
                        <li><asp:HyperLink ID="HyperLink1" runat="server" ></asp:HyperLink></li>
                        <li><asp:HyperLink ID="hypLnkEmailTmp" runat="server" >Email Templates</asp:HyperLink></li>
                        <li><asp:HyperLink ID="HyperLink4" runat="server" ></asp:HyperLink></li>
                        <li><asp:HyperLink ID="hypLnkTaxSttng" runat="server" Text="Tax Settings" NavigateUrl="~/TaxSetting.aspx" ></asp:HyperLink></li>
                        <li><asp:HyperLink ID="HyperLink5"  runat="server" ></asp:HyperLink></li>
                    </ul>
                </li>
 </div>
  
<asp:ContentPlaceHolder>


Заголовок.мастер.в CS

protected void Page_Load(object sender, EventArgs e)
    {

CheckForEstPage();

}

    public void CheckForEstPage()
    {
        try
        {
            String path = HttpContext.Current.Request.Url.AbsolutePath;
            System.Web.UI.HtmlControls.HtmlGenericControl currdiv = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("divCmptMenu");

            if (path == "~/EstimateForms.aspx")
            {
                currdiv.Style.Add("display", "none");
                // currdiv.Visible = false;
            }

        }
        catch (Exception expM)
        {
            Response.Write(expM.Message);
        }
    }



plz помогите мне с кодировкой, которую я хочу скрыть masterpage div в конкретной веб-странице (например, в Ex. estimateform)... я перепробовал много кодирования... я получаю ошибку
"Ссылка на объект не установлена на экземпляр объекта. "
спасибо...

Что я уже пробовал:

???

4 Ответов

Рейтинг:
2

Faisal(mfrony)

Вы можете попробовать это

это.Страницы.Мастер.FindControl ("идентификатор элемента управления, который имеет runat=server")


Рейтинг:
2

TrushnaK

найдите элемент управления главной страницей на странице содержимого следующим образом:-

//your div should contain the property
 runat="server"
 
//finding the div associated with id 
System.Web.UI.HtmlControls.HtmlGenericControl currdiv = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("divid");
 
//hiding the div
 currdiv.Style.Add("display", "none");



или попробуйте это:-

HtmlGenericControl Divid = (HtmlGenericControl)Page.Master.FindControl("MainDiv").FindControl("Divid");
 Divid.Visible = false;


Member 9467059

извините, приятели все еще получают ту же ошибку...
и div не становится невидимым, когда он находится в estimatefrom. aspx...
плз помогите мне с этим это срочно

TrushnaK

на какой строке вы получаете ошибку.

Member 9467059

protected void Page_Load(отправитель объекта, EventArgs e)
{

CheckForEstPage();

}
общественного недействительными CheckForEstPage()
{
пробовать
{
Path строка = объект HttpContext.Тока.Запрос.URL-адрес.AbsolutePath;

до выполнения здесь его собираются поймать блоком..
ошибка " ссылка на объект не установлена на экземпляр объекта."

Рейтинг:
1

DataBlind

Всем привет! Ну, в моем случае у меня было два дива внутри другого, я пытался скрыть их, поэтому я использовал этот код и отлично работает:

protected void Page_Load(object sender, EventArgs e)
       {
         var HideDiv= this.Master.FindControl("MainDiv");

           if (HideDiv != null)
           {
               HtmlGenericControl InsideDiv_1 = (HtmlGenericControl)HideDiv.FindControl("InsideDiv1");
               HtmlGenericControl InsideDiv_2 = (HtmlGenericControl)HideDiv.FindControl("InsideDiv2");
               if (InsideDiv_1 != null)
               {
                   InsideDiv_2.Visible = false;
                   InsideDiv_1.Visible = false;
               }
           }
       }
   }


удачи.


Richard Deeming

ЧЕТЫРЕ ГОДА слишком поздно.