Gridview的Jquery和Update Panel无法正常工作

时间:2014-07-02 06:30:10

标签: c# javascript jquery asp.net gridview

我必须根据某些特定条件实现gridview的闪烁:

gridview row blinking based on some conditions

我能够成功实现它,但后来我被要求在5秒内自动引用gridview,我使用了ajax更新面板和计时器,但后来我得到了这个新的javascript错误,如下所示: enter image description here

代码:

  <form id="form1" runat="server">
           <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <div style="border:thin;border-color:cornsilk">
    <div>    <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="5000"></asp:Timer></div>
        <center>
            <asp:UpdatePanel runat="server" ID="UpdateAlarmGrid" UpdateMode="Conditional" OnPreRender="UpdateAlarmGrid_PreRender">
                 <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
                <ContentTemplate>

      <asp:GridView ID="GridAlarm" CssClass="bgRow" EmptyDataText="NoData" CellPadding="7" CellSpacing="1" runat="server" DataKeyNames="id" AutoGenerateColumns="false" ShowHeader="true" OnRowDataBound="GridAlarm_RowDataBound" OnPageIndexChanging="GridAlarm_PageIndexChanging">
        <Columns>
            <asp:BoundField DataField="TagName" HeaderText="TagName" />
            <asp:BoundField DataField="Description" HeaderText="Description" />
            <asp:BoundField DataField="Value" HeaderText="Value"  />
            <asp:BoundField DataField="AlarmStatus" HeaderText="Alarm Status"/>
            <asp:BoundField DataField="AlarmRaisedDateTime" HeaderText="Alarm Raised"  />
            <asp:BoundField DataField="AlarmClearedDateTime" HeaderText="Alarm Cleared"  />
            <asp:BoundField DataField="AlarmAckDateTime" HeaderText="Alarm Acknowledgement"  />
            <asp:TemplateField HeaderText="Select">
              <ItemTemplate>
                  <asp:CheckBox ID="chk_Select" runat="server" />
              </ItemTemplate>
             </asp:TemplateField>
        </Columns>
    </asp:GridView>
                </ContentTemplate>
            </asp:UpdatePanel>
              </center>

    </div>
        <div></div>
        <div>
            <center>
            <table>
                <tr>
                    <td>
                       <asp:Button runat="server" Text="Clear Alarm" ID="BClear" OnClick="BClear_Click" />
                    </td>
                    <td></td>
                    <td>
                        <asp:Button runat="server" Text="Acknowledge Alarm" ID="BAck" OnClick="BAck_Click" />
                    </td>
                    </tr>
                </table>
            </center>
        </div>
    </form>

jquery实现代码位于gridview row blinking based on some conditions

计时器代码:

 protected void Timer1_Tick(object sender, EventArgs e)
    {
      //  LRefresh.Text = "refreshing..";
     //   LRefresh.Visible = true;
          bindAlarms();//bind gridview
    }

为什么会出现这个问题?我该如何解决这个问题?我们怎样才能防止这些问题呢?

1 个答案:

答案 0 :(得分:1)

我想在RegisterStartupScript中的setBg()函数之后错过了分号。添加分号,这将像下面的那样

ClientScript.RegisterStartupScript(GetType(), "BG", "setBG('" + GridAlarm.ClientID + "');", true);