从内容页面禁用主页面的超链接

时间:2012-08-21 10:26:07

标签: c# javascript asp.net

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="AssociateMaster.master.cs" Inherits="EQ.AssociateMaster" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
    <!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 id="Head1" runat="server">
        <title>Employee Quotient</title>
            <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
                <link href="Styles/style.css" rel="stylesheet" type="text/css" />
                <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
                <script src="Scripts/jquery.alerts.js" type="text/javascript"></script>
                <script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
                <script src="Scripts/jquery.js" type="text/javascript"></script>
                <link href="Styles/jquery.alerts.css" rel="stylesheet" type="text/css" />
                <meta name="Author" content="Dharmendra Kumar Singh" />
                <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
            <!--[if lt IE 7]>
              <link rel="stylesheet" href="iefixes.css" type="text/css" />
            <![endif]-->
    </head>
    <script type="text/jscript">
        function clock(){
            var d = new Date();
            var h = d.getHours();
            var m = d.getMinutes();
            var s = d.getSeconds();
            if (parseInt(h) < 10)
                h = "0" + h;
            if (parseInt(m) < 10)
                m = "0" + m;
            if (parseInt(s) < 10)
                s = "0" + s;
            $('#clock').html(", " + h + "<span class='colon'>:</span>" + m + "<span class='colon'>:</span>" + s);
            //  $('.colon').fadeTo(1000, .2);  
            setTimeout(clock, 1000); 

        } 
    </script>
    <body onload="clock()">
        <div id="container">
          <div id="header">
            <div id="logo">
             <div id="Div1">
              <h1 style="color:White;"> New EQ <%--<a href="../Associates/Home.aspx"><img style="width: 140px; height: 80px;" src="../images/eq.jpg" alt="" /></a>--%></h1>
            </div>
            </div>
            <form id="search" method="get" action="">
              <div>
              <table>
              <tr>
              <td><asp:Label ID="lblUser" runat="server" Text="Label" Font-Bold="true" Font-Size="16px" ForeColor="White"></asp:Label></td>
              <td><span class="line-separator">&nbsp;</span></td>
              <td>
              <asp:HyperLink ID="SignOut" runat="server"  style="color:White;font-size:15px;font-family:Calibri; background-color:transparent;font-weight: bold;" NavigateUrl="~/Account/EQLogin.aspx">Sign Out</asp:HyperLink></td>
              </tr>
              </table>
              <table>
              <tr>
              <td >
                    <asp:Label ID="lblDate" runat="server" style="font-family:Calibri;color:White;font-weight:bold;font-size:1.3em;" />
                    <span id="clock" style="font-family:Calibri;color:White;font-weight:bold;font-size:1.3em;"></span>
               </td>
              </tr>
              </table>
              </div>
            </form>
          </div>
          <div id="menu" >
            <ul>
              <li><a href="../Associates/Home.aspx">Home</a></li>
              <li><a href="../Associates/Report.aspx">Report</a></li>
              <li><a href="../Associates/MyProfile.aspx">Profile</a></li>      
            </ul>
          </div>
          <asp:ContentPlaceHolder ID="cphContent" runat="server" />
          </div>
        <div id="footer">
          <div id="footer-left"></div>
          <div id="footer-right"></div>
          <div id="footer-content">
            <div id="footer-navigation">  </div>
            <p>Copyright &copy; DKS  All rights reserved.</p>
          </div>
        </div>
    </body>
</html>

这是我的母版页的代码,我想从内容页面禁用该母版页的所有超链接。当我们强迫用户不要以任何方式离开该内容页面时,会出现这种情况我想禁用此母版页的所有超链接。 请指导我如何禁用此功能。我没有使用脚本管理器,因为我已经在每个内容页面上应用了脚本管理,直到现在开发了这么多页面,因此无法回滚并在母版页上应用脚本管理器。

3 个答案:

答案 0 :(得分:2)

您可以使用jQuery来执行此操作

//disable menu
$("#menu a").each(function(){
   $(this).attr("disabled","disabled");
});

您可以类似地在注销链接中添加css类并禁用它。

答案 1 :(得分:0)

很抱歉没有看到你关于做客户端的答复......但对于服务器端:


您必须在页面/用户控制标记中添加对MasterPage的引用。

<%@ Reference VirtualPath="..." %>

然后在代码隐藏中,您只需将Page.MasterPage转换为MasterPage并访问其属性。

MyMasterPage myMasterPage = (MyMasterPage)Page.Master;

然后你可以:

HyperLink myLink = (HyperLink)MyMasterPage.FindControl("nameOfLink");
myLink .Visible = false;

根据我之前看到的内容,C#有点生疏,但校长就在那里。

答案 2 :(得分:0)

对于客户端(使用JS)

您可以使用JQuery:

$('a').bind("click.myDisable", function() { return false; });

这将禁用所有超链接的点击事件。

使用这些函数调用JQuery

public bool runJQueryCode(string message)

{     ScriptManager requestSM = ScriptManager.GetCurrent(Page);     if(requestSM!= null&amp;&amp; requestSM.IsInAsyncPostBack){         ScriptManager.RegisterClientScriptBlock(Page,typeof(Page),Guid.NewGuid()。ToString(),getjQueryCode(message),true);     } else {         Page.ClientScript.RegisterClientScriptBlock(typeof(Page),Guid.NewGuid()。ToString(),getjQueryCode(message),true);     }

return true;

}

private string getjQueryCode(string jsCodetoRun) {     StringBuilder sb = new StringBuilder();     sb.AppendLine(“$(document).ready(function(){”);     sb.AppendLine(jsCodetoRun);     sb.AppendLine(“});”);

return sb.ToString();

}

所以:runJQueryCode(“$('a')。bind('click.myDisable',function(){return false;});”);