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

时间:2013-11-20 06:35:26

标签: c# javascript asp.net updatepanel

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

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

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

如果我没有使用UpdatePanel,那么所需的功能在其他页面中运行正常,但是使用UpdatePanel,我无法实现相同的功能,所以请帮我一试。

这是我的DropDownList

<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吗?或者我犯了一些错误?

1 个答案:

答案 0 :(得分:0)

您可以以编程方式为服务器端控件分配事件。见HERE

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