replace controls in <li>

本文关键字:li gt controls lt replace in | 更新日期: 2023-09-27 18:22:12

如何使用服务器端代码替换列表项中的控件。我需要更换这个

    <li>
        <asp:LinkButton ID="btnUpload" runat="server" OnPreRender="btn_PreRender" CommandName="Uploader"
            TabIndex="2">Upload</asp:LinkButton>
        or <a target="_blank" href="../PersonalInfo/MailingAddress.htm">Mail</a> the form.
    </li>

带有

    <li>
       <asp:LinkButton ID="hplnkViewDocument" runat="server" Text="View Document" SkinID="lnkBtnBlue"></asp:LinkButton>
    </li>

replace controls in <li>

我会在li中同时拥有两个控件,然后使用Visible属性只显示/隐藏您想要的控件。

我相信您可以放置一个pannel或一些作为容器工作的服务器端控件。然后,您可以添加或从他们的控件集合中删除任何您喜欢的控件。

比方说,一个你想添加按钮的面板,只是为了给你一个想法:

Button button = new Button ();
//Set properties accordingly
Pannel1.Controls.Add(button);

此外,Controls是Control的一个属性,因此您可以在继承Control的任何类中找到它。甚至页面也继承自从控件继承的类。

您必须阅读"Page.FindControl Method(String)"。

还有一些样品。

您也可以使用

 Page.Controls.Remove(btnUpload);

然后创建hplnkViewDocument作为新的LinkButton控件

  Page.Controls.Add(hplnkViewDocument);

;-)

如果你想变得超级懒惰,你可以用一个给定的类将它们中的任何一个包装在一个跨度中,然后在具有display:none的页头上添加一些css(假设它在服务器上运行);可见性:隐藏;对于不应该显示的类

HTML:

<li>
  <span class="one">
    <asp:LinkButton ID="btnUpload" runat="server" OnPreRender="btn_PreRender" CommandName="Uploader" TabIndex="2">Upload</asp:LinkButton>
  or <a target="_blank" href="../PersonalInfo/MailingAddress.htm">Mail</a> the form.
  </span>
  <span class="two">
    <asp:LinkButton ID="hplnkViewDocument" runat="server" Text="View Document" SkinID="lnkBtnBlue"></asp:LinkButton>
  </span>
</li>

请确保添加以下任一项:

.one {display:none; visiblity: hidden;}

.two {display:none; visiblity: hidden;}

基于您的运行时需要