单击链接按钮后,Gridview刷新

时间:2018-07-12 12:22:26

标签: javascript asp.net gridview

我有一个gridview可以显示数据库中的一些数据。
显示价格的单元格为 Style ='hidden'
在同一列中是一个Linkbutton,当我按下它时,它运行一个javascript函数 ShowPrice()以显示价格,隐藏其自身并显示第二个Linkbutton,当我单击它时,它运行一个javascript函数< b> HidePrice(),先隐藏价格,再隐藏自身,并使第一个LinkBut​​ton可见。
ShowPrice()函数运行并使价格可见,它隐藏了Linkbutton并显示了第二个Linkbutton,但是问题是再次隐藏了第二个Linkbutton并显示了第一个LinkBut​​ton。 我认为这与回发有一定关系,因为相同的代码可以在纯HTML页面中正常运行。 页面上的代码是

       <asp:TemplateField HeaderText="Price">
            <ItemTemplate>
                <asp:Label ID="lblKostos" runat="server" Text='<%#FormatCurrency(DataBinder.Eval(Container.DataItem, "Price"), 2)%>' Style="visibility: hidden" CssClass="Gshow"></asp:Label>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>

                        <asp:LinkButton ID="Button4" runat="server"  OnClientClick="ShowPrice()" Text=""> <span aria-hidden="true" class="glyphicon glyphicon-question-sign" ></span></asp:LinkButton>
                        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="HidePrice()" Text="" Style="visibility: hidden"> <span aria-hidden="true" class="glyphicon glyphicon-ok" ></span></asp:LinkButton>

                    </ContentTemplate>
                </asp:UpdatePanel>

            </ItemTemplate>
        </asp:TemplateField>

和Javascript函数是

<script type="text/javascript">
    function ShowPrice() {
        var i;
        var x = document.getElementsByClassName("Gshow");

        for (i = 0; i < x.length; i++) {
            x[i].style.visibility = 'visible';
        }

        var x1 = document.getElementsByClassName("glyphicon glyphicon-question-sign");


        for (i = 0; i < x1.length; i++) {
            x1[i].style.visibility = 'hidden';
        }
        var x2 = document.getElementsByClassName("glyphicon glyphicon-ok");

        for (i = 0; i < x2.length; i++) {
            x2[i].style.visibility = 'visible';
        }
        return true;
    }

    function HidePrice() {

        var x = document.getElementsByClassName("Gshow");
        var i;
        for (i = 0; i < x.length; i++) {
            x[i].style.visibility = 'hidden';
        }
        var x1 = document.getElementsByClassName("glyphicon glyphicon-question-sign");


        for (i = 0; i < x1.length; i++) {
            x1[i].style.visibility = 'visible';
        }

        var x2 = document.getElementsByClassName("glyphicon glyphicon-ok");


        for (i = 0; i < x2.length; i++) {
            x2[i].style.visibility = 'hidden';
        }
        return true;
    }
</script>

正如我告诉您的那样,代码正在纯HTML上运行
enter image description here

enter image description here enter image description here

0 个答案:

没有答案