【问题标题】:link button on Master Page with Click Event on Content Page Stack-overflow Exception母版页上的链接按钮,内容页上的单击事件堆栈溢出异常
【发布时间】:2015-06-01 17:46:56
【问题描述】:

我正在尝试将母版页上的 asp 链接按钮连接到内容页上的单击事件。我遵循了各种在线帖子的描述,但是当我尝试运行该页面时,我在链接按钮属性的 get{} set{} 部分中遇到了 Stack-overflow 异常。我找不到其他人遇到这个问题,主要是因为我不知道实际问题是什么。以下是我的一些代码:

母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="mySite.master.cs" Inherits="mySite1.mySite" %>

<asp:LinkButton id="myLink" Text="Home" runat="server"/>

母版页 CS:

    public LinkButton myLink
    {
        get
        {
            return myLink; //FAILS HERE IF I COMMENT OUT THE SET.
        }
        set
        {
            myLink = value; //THIS IS WHERE IT FAILS!
        }
    }

索引.aspx.cs:

    protected void Page_Init(object sender, EventArgs e)
    {
        if(Master.myLink != null)
            Master.myLink.Click += new EventHandler(MainTabBtn_Click);
    }

    protected void MainTabBtn_Click(object sender, EventArgs e)
    {
           //DO STUFF
     }

索引.aspx:

<%@ Page Title="MySite" Language="C#" MasterPageFile="~/MySite.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MySite1.Index" %>

<%@ MasterType VirtualPath="~/MySite.Master" %>

任何人都可以从中看出问题所在吗?感谢您的帮助,

马文

【问题讨论】:

  • 你关注documentation了吗?
  • @RickS:本文档没有解释如何处理点击事件。

标签: c# asp.net master-pages


【解决方案1】:

您为 myLink 属性分配一个值,该属性将其分配给 myLink 属性 (myLink = value),该属性将其分配给 myLink 属性...在无限循环中 - 经典的 stack overflow exceptionFind the control on the master page 代替。

【讨论】:

    【解决方案2】:

    你试过了吗?

    protected void Page_Init(object sender, EventArgs e)
    {
       LinkButton myLink = (LinkButton)Master.FindControl("myLink");
       myLink.Click += new EventHandler(MainTabBtn_Click);
    }
    

    【讨论】:

      【解决方案3】:

      你应该改变

      public LinkButton myLink
      

      public LinkButton MyLink
      

      更改属性名称或它包含的实习变量,其中任何一个都可以,因为其他方式您将调用属性myLink,值是myLink,值是myLink等等等等

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-06
        相关资源
        最近更新 更多