В ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimerUpdate3.aspx.cs" Inherits="TimerUpdate3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Untitled Page</title>
<script type="javascript">
showMessage(msg) { alert(msg); }
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="1000" />
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Not refreshed yet..."></asp:Label>
<table id="Incidents" runat="server" cellspacing="0" cellpadding="5" style="padding:0; width:400px;"></table>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
В C #:
using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
public partial class TimerUpdate3 : Page
{
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = "Refreshed at " + DateTime.Now.ToLongTimeString();
int sec = DateTime.Now.Second;
for (int i = sec ; i < sec + 20; i++)
{
HtmlTableRow row = new HtmlTableRow();
row.Attributes.Add("onmouseover", "style.backgroundColor='#BFCBD6'");
row.Attributes.Add("onmouseout", "style.backgroundColor='white'");
row.Attributes.Add("onmouseup", "javascript:showMessage('row " + i + "')");
Incidents.Rows.Add(row);
HtmlTableCell cell3 = new HtmlTableCell("td");
cell3.InnerText = "row - " + i;
row.Cells.Add(cell3);
HtmlTableCell cell1 = new HtmlTableCell("td");
cell1.InnerText = "foo";
row.Cells.Add(cell1);
HtmlTableCell cell2 = new HtmlTableCell("td");
cell2.InnerText = "poo";
row.Cells.Add(cell2);
}
}
}
При запуске сайта в Visual Studio я вижу множество script block
файлов, добавляемых под TimerUpdate3.aspx
файл.Каждый из них содержит функцию onmouseup
.Эти файлы складываются, пока весь сайт не застрянет.
Если я закомментирую строку, которая добавляет атрибут onmouseup
в строку - все отлично.
Что я здесь не так делаю?