javascript - 无法将表隐藏在 asp.net 中

标签 javascript jquery css asp.net vb.net

我有一个问题,其中名为 #viewPackage 的 div 标记中的表出现了,即使它不应该触发。我的代码如下:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
       <Scripts>
            <asp:ScriptReference Name="jquery" />
            <asp:ScriptReference Name="jquery.ui.combined" />
       </Scripts>
</asp:ScriptManager>
<asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <div id="grid">
      <asp:DropDownList runat="server" ID="ddlTireViewTypes"  DataSourceID="viewTypes" DataTextField="TireType" DataValueField="TireId" AutoPostBack="True" AppendDataBoundItems="True" OnSelectedIndexChanged="viewTirePackages_SelectedIndexChanged">
            <asp:ListItem Text="Alle" Value="0"></asp:ListItem>
    </asp:DropDownList>
    <asp:SqlDataSource ID="viewTypes" runat="server" ConnectionString="<%$ ConnectionStrings:CarsConnectionString %>" SelectCommand="select TireId, TireType from tbl_mas_tire_settings where Tiresettingstype = 'Tiretype'"></asp:SqlDataSource>

    <asp:GridView ID="gvTirePackageList" HeaderStyle-BackColor="#4b6c9e" DataKeyNames="Seq_No" HeaderStyle-ForeColor="White" AutoGenerateColumns="false" runat="server" OnRowCommand="gvTirePackageList_RowCommand">
        <Columns>
            <asp:BoundField DataField="Seq_No" HeaderText="Id" ItemStyle-Width="20" SortExpression ="Seq_No"/>
            <asp:BoundField DataField="tirePackageNo" HeaderText="Dekkpakke" ItemStyle-Width="20" SortExpression ="tirePackageNo"/>
            <asp:BoundField DataField="regNo" HeaderText="Regnr" ItemStyle-Width="20" SortExpression ="regNo"/>
            <asp:BoundField DataField="custNo" HeaderText="Kundenr" ItemStyle-Width="20" SortExpression ="custNo"/>
            <asp:BoundField DataField="custName" HeaderText="Kundenavn" ItemStyle-Width="200" SortExpression ="custName"/>
            <asp:BoundField DataField="location" HeaderText="Lokasjon" ItemStyle-Width="20" SortExpression ="location"/>
            <asp:BoundField DataField="tireTypeDesc" HeaderText="Dekktype" ItemStyle-Width="20" SortExpression ="tireTypeDesc"/>
            <asp:BoundField DataField="tireQualityDesc" HeaderText="Dekkvalitet" ItemStyle-Width="20" SortExpression ="tireQualityDesc" />
            <asp:BoundField DataField="tireDepthDesc" HeaderText="Dekkdybde" ItemStyle-Width="20" SortExpression ="tireDepthDesc"/>
            <asp:BoundField DataField="regDate" HeaderText="Regdato" ItemStyle-Width="20" SortExpression ="regDate"/>
            <asp:BoundField DataField="outDate" HeaderText="Forv. ut dato" ItemStyle-Width="20" SortExpression ="outDate"/>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="viewTirePackage" CssClass="viewTirePackageClass" Text="Vis" CommandName="viewTirePackage" CommandArgument='<%#Eval("Seq_No")%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="newTirePackageOrder" Text="Ny ordre" CommandName="newTirePackage" CommandArgument='<%#Eval("Seq_No")%>' runat="server" width="60"/>
                </ItemTemplate>
         </asp:TemplateField>
            <asp:TemplateField>
             <ItemTemplate>
                    <asp:LinkButton ID="deleteTirePackage" Text="Slette" CommandName="deleteTirePackage" CommandArgument='<%#Eval("Seq_No")%>' runat="server" />
                </ItemTemplate>
         </asp:TemplateField>
        </Columns>
    </asp:GridView>
</div>

<div id="viewPackage">
    <span class="closePackage">X</span>
<table>
    <tr>
        <td>
            Dekkpakkenr:<br />
            <asp:TextBox ID="viewTirePackageNo" runat="server" Width="100"></asp:TextBox>
        </td>
        <td>
            Regnr:<br />
            <asp:TextBox ID="viewTireRegNo" runat="server" Width="100"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            Dekktype:<br />
            <asp:DropDownList runat="server" ID="ddlEditTireTypes" DataSourceID="SqlDataSource1" DataTextField="TireType" DataValueField="TireId" AutoPostBack="True" AppendDataBoundItems="true">
                <asp:ListItem Text="Velg..." Value=""></asp:ListItem>
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CarsConnectionString %>" SelectCommand="select TireId, TireType, TireTypeVariable from tbl_mas_tire_settings where Tiresettingstype = 'Tiretype'"></asp:SqlDataSource>
        </td>
        <td>
            Med/Uten pigg:<br />
             <asp:DropDownList runat="server" ID="ddlEditTireSpikes" DataSourceID="SqlDataSource2" DataTextField="TireSpikes" DataValueField="TireId" AutoPostBack="true" AppendDataBoundItems="true">
                <asp:ListItem Text="Velg..." Value=""></asp:ListItem>
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:CarsConnectionString %>" SelectCommand="select TireId, TireSpikes from tbl_mas_tire_settings where Tiresettingstype = 'TireSpike'"></asp:SqlDataSource>
        </td>
     </tr>
     <tr>
        <td>
             <asp:button ID="btnEditTireSave" CssClass="closePackage" runat="server" Text="Oppdater" OnClick="btnEditTireSave_Click" />
        </td>
    </tr>
</table>
</div>

VB.NET代码如下:

Protected Sub viewTirePackages_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTireViewTypes.SelectedIndexChanged
     Call gvTirePackages()
     updatePanel1.Update()
End Sub

其中 gvTirePackage() 正在填充 gridview。我正在使用 jQuery 显示/隐藏表格,代码如下:

$(document).ready(function () {
   $('#viewPackage').removeClass('animate visible').addClass('hidden');

   $('body').on("click", '.closePackage', function (e) {
       $('#viewPackage').removeClass('visible').addClass('animate hidden');
    });

    $('body').on('click','.viewTirePackageClass', function () {
        $('#viewPackage').removeClass('hidden').addClass('animate visible'); 
    });
});

我的 CSS 看起来像这样:

#viewPackage {
position: fixed;
width: 70%;
top: 0;
bottom: 0;
background: #fff;
min-height: 100%;
left: 0;
}
#viewPackage.animate {
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
#viewPackage table {
margin: 10% auto;
}
.closePackage {
font-weight: 800;
float: right;
margin-right: 0.7em;
font-size: 2em;
cursor: pointer;
}

我在页面上使用更新面板。 gridview,正在制作我们实际上在页面加载时隐藏的表格,在使用下拉列表时出现。第一个线索是停止。其次是使链接按钮以相同的方式工作,因为现在它只是出现而没有动画,这告诉我它没有按预期工作。如果您需要查看更多代码,请告诉我,我会将其粘贴到此处或发送给您。

提前感谢您提供任何提示或线索!

最佳答案

我成功了。我所做的是放入 2 个 updatePanel 并将 updatepanel 放在 div 标签“virePackage”中。 div 标签本身使它刷新,因此它再次跳回。现在一切正常。

关于javascript - 无法将表隐藏在 asp.net 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385338/

相关文章:

javascript - jsPDF调整文本行间距

javascript - TypeScript 重载泛型函数的返回类型在与 Array.prototype.map 一起使用时被错误推断

javascript - 未捕获的类型错误(加载 jQuery 脚本)

css - 使用响应式布局调整图像大小

html - 滚动条不可点击/不可拖动

javascript - AngularJS 无限循环与 ng-view

javascript - 为什么我无法让我的谷歌地图在单击按钮时更新纬度/经度?

javascript - 使用 jQuery DataTables 时如何获取 <tr> 的 id?

javascript - Chrome 和 Firefox 中 form.submit() 的不同 JavaScript 行为

html - 垂直居中 :after content in Bootstrap 3 panel-heading