使用jquery更改按钮的可见性 - UpdatePanel

时间:2011-11-02 21:33:48

标签: javascript jquery asp.net updatepanel

我有2个按钮(过滤器和视图摘要)和一个更新面板。更新面板保持网格。单击过滤器按钮时 - 将从数据库中提取数据并触发updatepanel。现在根据数据的内容,我想更改视图摘要按钮的可见性。

我试过了 - hfSummaryVis是我在更新面板中设置的隐藏字段

function pageLoad() {
    alert('<%=hfSummaryVis.Value %>');
}

警告消息始终为空白。我也试过document.ready。只有在第一次加载页面时才会调用Document.Ready。

请帮忙

谢谢,

<div id="divOrderDateSelector" class="FloatLeft PadDiv" style="padding-top: 3px;">
  <asp:Button ID="btnFilter" runat="server" Text="Filter" 
    OnClick="btnFilter_Click" CssClass="DefaultButton"/>
  <asp:Button ID="btnSummary" runat="server" Text="View Summary"
    OnClick="btnSummary_Click" CssClass="DefaultButton" 
    onclientclick="return false"/>
</div>
<br/>
<div id="divbuy" class="ClearBoth PadBottom">
  <span class="SectionHeader Block" >Buys</span>  
    <asp:UpdatePanel ID="upStatus" runat="server" UpdateMode="Conditional" >
      <Triggers >
        <asp:AsyncPostBackTrigger ControlID="btnFilter" EventName="Click"/>
      </Triggers>
      <ContentTemplate >
        <asp:HiddenField ID="hfSummaryVis" runat="server" />
        <asp:GridView ID="gvSummary" runat="server" AutoGenerateColumns="False" 
          CssClass="ContrastTable WideTable" GridLines="None" 
          onrowdatabound="gvSummary_RowDataBound">
          <EmptyDataTemplate>No Records Found</EmptyDataTemplate>
          <RowStyle CssClass="MainTableRow" />
          <AlternatingRowStyle CssClass="AlternateRow" />
          <HeaderStyle CssClass="HeaderRow" />
          <Columns>
            <asp:TemplateField>
              <ItemTemplate>
                <asp:LinkButton ID="lkBtnOpen" runat="server" CssClass="Expand ButtonCell PlainLink"  
                  ToolTip="Click to see details of the date's orders."
                  Text="&nbsp;&nbsp;&nbsp;" OnClientClick="showCusipAccountDetails(" />
                <asp:LinkButton ID="lkBtnClose" runat="server" CssClass="Collapse ButtonCell PlainLink Hidden"
                  ToolTip="Click to close." 
                  Text="&nbsp;&nbsp;&nbsp;" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Strategy Series">
              <ItemTemplate>
                <asp:Label ID="lblStrategySeries" runat="server" />
              </ItemTemplate>
            ...

3 个答案:

答案 0 :(得分:0)

您需要在页面上有一个脚本管理器,然后挂钩//Do Something Here的事件。

将它放在页面加载事件中:

if (typeof Sys !== "undefined") {
        if (typeof Sys.WebForms !== "undefined") {
            Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function (sender, args) {
                //Do Something Here
            });
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {
                //Do Something Here
            });
        }
    }

答案 1 :(得分:0)

隐藏字段是服务器控件,因此您必须获取该控件的ClientID。试试这个

 alert('#<%= hfSummaryVis.ClientID %>').val();

希望这有帮助。

答案 2 :(得分:0)

我使用更新面板解决了这个问题。