Asp.net 根据您所在的网页禁用表中的行

Asp.net 根据您所在的网页禁用表中的行,asp.net,master-pages,Asp.net,Master Pages,我在母版页中有一个表格作为侧栏,在webstore.master中编码如下 <div class="Sidebar" runat="server"> <table width="140px" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="Le

我在母版页中有一个表格作为侧栏,在webstore.master中编码如下

 <div class="Sidebar" runat="server">
        <table width="140px" border="0" cellpadding="2" cellspacing="2">
            <tbody>
                <tr>
                    <td class="LeftButton">
                        <a class="LeftButton" href="Home.aspx">Continue Shopping</a>
                    </td>
                </tr>
            </tbody>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="ShoppingCart.aspx">Edit Shopping Cart</a>
                </td>
            </tr>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="CheckOut.aspx">Check Out</a>
                </td>
            </tr>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="MySoftware.aspx">My Software</a>
                </td>
            </tr>
        </table>
    </div>

我将其继承到项目中的每个其他内容页上。但是现在我想根据我所在的页面禁用特定的行

例如,如果我在home.aspx中,我想禁用标题为“继续购物”的行。 同样,如果我在Checkout.aspx中,我想禁用标题为“Checkout”的行

我怎样才能做到这一点

顺便说一句,我使用的是VS2008,asp.net/c#


提前感谢

这是一个简单的解决方案:

<div class="Sidebar" runat="server">
        <table width="140px" border="0" cellpadding="2" cellspacing="2">
            <%if(!Request.Url.ToString().Contains("home.aspx")){%>
              <tbody>   
                <tr>
                    <td class="LeftButton">
                        <a class="LeftButton" href="Home.aspx">Continue Shopping</a>
                    </td>
                </tr>
            </tbody>
            <%}%>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="ShoppingCart.aspx">Edit Shopping Cart</a>
                </td>
            </tr>
           <%if(!Request.Url.ToString().Contains("CheckOut.aspx")){%>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="CheckOut.aspx">Check Out</a>
                </td>
            </tr>
            <%}%>
            <tr>
                <td class="LeftButton">
                    <a class="LeftButton" href="MySoftware.aspx">My Software</a>
                </td>
            </tr>
        </table>
    </div>

你明白了

否则,创建一个在codebehind中执行相同操作的控件。
那会更优雅一点,但基本上是一样的。:-)

你一定要这样做吗?我认为在每个页面上创建一个带有属性的用户控件会更好、更容易配置。如果您想在服务器上(而不是在使用javascript的客户机上)执行此操作,它位于母版页中。因此,它只是一个一次性代码,而且无论如何JavaScript都不是问题所在;)