在asp.net的UpdatePanel中隐藏/显示表

Hide/Show table in UpdatePanel in asp.net

本文关键字:隐藏 显示 UpdatePanel asp net      更新时间:2023-09-26

我正在开发一个基于ASP.NET的web应用程序。

我有一个UpdatePanel,在这个UpdatePanel中,有一个表,在那个表中,我有一张DropDownList和一张多一张的表。所以我的要求是根据DropDownList中的项目选择来隐藏/显示表。

比方说,如果我在DropDown中选择索引1,我想显示表。如果我选择索引2,我想隐藏该表。

如果我没有使用UpdatePanel,那么所需的功能在其他页面中也可以正常工作,但使用UpdatePanel时,我无法实现同样的功能,所以请帮助我。

这是我的下拉列表

<asp:TableCell>
  <asp:DropDownList Width="205px" CssClass="merchant_area_name1" ID="DropDownListConnectionType"
  runat="server" onchange="HideBlockHTTPSParameters()">
    </asp:DropDownList>
</asp:TableCell>

这是我使用的javascript函数

function HideBlockHTTPSParameters() {
    if (document.getElementById('ContentPlaceHolder1_DropDownListConnectionType').options[document.getElementById('ContentPlaceHolder1_DropDownListConnectionType').selectedIndex].value == "2") {
        document.getElementById('ContentPlaceHolder1_TableHTTPSDetails').style.display = "table";
    } else {
        document.getElementById('ContentPlaceHolder1_TableHTTPSDetails').style.display = "none";
    }
}

这是我的桌子,我要

<asp:Table ID="TableHTTPSDetails" runat="server" Width="100%">
    <asp:TableRow>
        <asp:TableCell ColumnSpan="4" Style="font-size: 20px; text-align: center; font-weight: bold;color: #0866C6;">
            HTTPS Connection Details
        </asp:TableCell>
    </asp:TableRow>
    <asp:TableRow>
        <asp:TableCell ColumnSpan="4">
            <hr />
        </asp:TableCell>
    </asp:TableRow>
    <asp:TableRow>
        <asp:TableCell>
            <asp:Label CssClass="search_area_textfeild1" ID="LabelInitializationURLBankPanel" runat="server" Text="Initialization URL "></asp:Label>
        </asp:TableCell>
        <asp:TableCell>
            <asp:TextBox Width="200px" CssClass="merchant_area_name1" ID="TextBoxInitializationURLBankPanel" runat="server" MaxLength="49"></asp:TextBox>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ValidationExpression="http(s)?://(['w-]+'.)+['w-]+(/['w- ./?%&=]*)?" ControlToValidate="TextBoxInitializationURLBankPanel" ErrorMessage="Input valid Initialization URL!"></asp:RegularExpressionValidator>
        </asp:TableCell>
        <asp:TableCell>
            <asp:Label CssClass="search_area_textfeild1" ID="LabelTransactionURLBankPanel" runat="server" Text="Transaction URL"></asp:Label>
        </asp:TableCell>
        <asp:TableCell>
            <asp:TextBox Width="200px" CssClass="merchant_area_name1" ID="TextBoxTransactionURLBankPanel" runat="server" MaxLength="49"></asp:TextBox>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ValidationExpression="http(s)?://(['w-]+'.)+['w-]+(/['w- ./?%&=]*)?" ControlToValidate="TextBoxTransactionURLBankPanel" ErrorMessage="Input valid Transaction URL!"></asp:RegularExpressionValidator>
        </asp:TableCell>
    </asp:TableRow>
    <asp:TableRow>
        <asp:TableCell>
            <asp:Label CssClass="search_area_textfeild1" ID="LabelRouteIndicatorBankPanel" runat="server" Text="Route Indicator"></asp:Label>
        </asp:TableCell>
        <asp:TableCell>
            <asp:TextBox Width="200px" CssClass="merchant_area_name1" ID="TextBoxRouteIndicatorBankPanel" runat="server" MaxLength="9"></asp:TextBox>
        </asp:TableCell>
        <asp:TableCell>
            <asp:Label CssClass="search_area_textfeild1" ID="LabelCountryCodeBankPanel" runat="server" Text="Country Code"></asp:Label>
        </asp:TableCell>
        <asp:TableCell>
            <asp:TextBox Width="200px" CssClass="merchant_area_name1" ID="TextBoxCountryCodeBankPanel" runat="server" MaxLength="9"></asp:TextBox>
        </asp:TableCell>
    </asp:TableRow>
</asp:Table>

那么我可以在UpdatePanel中使用javascript吗?或者我犯了什么错误?

您可以通过程序为服务器端控件分配事件。请参阅此处

yourDropDownList.Attributes["onChange"] = "someJavaScriptFunction();";