我必须根据某些特定条件实现gridview的闪烁:
gridview row blinking based on some conditions
我能够成功实现它,但后来我被要求在5秒内自动引用gridview,我使用了ajax更新面板和计时器,但后来我得到了这个新的javascript错误,如下所示:
代码:
<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
}
为什么会出现这个问题?我该如何解决这个问题?我们怎样才能防止这些问题呢?
答案 0 :(得分:1)
我想在RegisterStartupScript中的setBg()函数之后错过了分号。添加分号,这将像下面的那样
ClientScript.RegisterStartupScript(GetType(), "BG", "setBG('" + GridAlarm.ClientID + "');", true);