動態內容我有一個表,默認情況下,看起來就像這樣:保留在回發
<table width="650" id="myTable" runat="server">
<tbody>
<tr>
<td class="cellWidth300 bottomBorder topBorder">Column1</td>
<td class="cellWidth125 leftBorder topBorder bottomBorder textCenter">Column2</td>
<td class="cellWidth100 leftBorder topBorder bottomBorder textCenter">Column3</td>
<td class="cellWidth125 leftBorder rightBorder topBorder bottomBorder textRight">Column4</td>
</tr>
<tr>
<td class="cellWidth300"><input type="text" size="29" runat="server"/></td>
<td class="cellWidth125 leftBorder textCenter"><input type="text" size="9" class="units commas" runat="server"/></td>
<td class="cellWidth100 leftBorder textCenter"><input type="text" size="8" class="value commas" runat="server"/></td>
<td class="cellWidth125 leftBorder rightBorder textRight"><input type="text" size="11" readonly="readonly" tabindex="-1" class="totalA1 autoTotal" runat="server"/> </td>
</tr>
<tr>
<td class="cellWidth300"><input id="Text2" type="text" size="29" runat="server"/></td>
<td class="cellWidth125 leftBorder textCenter"><inputtype="text" size="9" class="units commas" runat="server"/></td>
<td class="cellWidth100 leftBorder textCenter"><input type="text" size="8" class="value commas" runat="server"/></td>
<td class="cellWidth125 leftBorder rightBorder textRight"><input type="text" size="11" readonly="readonly" tabindex="-1" class="totalA1 autoTotal" runat="server"/> </td>
</tr>
<tr>
<td class="cellWidth300"><input type="text" size="29" runat="server"/></td>
<td class="cellWidth125 leftBorder textCenter"><input type="text" size="9" class="units commas" runat="server"/></td>
<td class="cellWidth100 leftBorder textCenter"><input type="text" size="8" class="value commas" runat="server"/></td>
<td class="cellWidth125 leftBorder rightBorder textRight"><input type="text" size="11" readonly="readonly" tabindex="-1" class="totalA1 autoTotal" runat="server" /> </td>
</tr>
</tbody>
</table>
我有jQuery的一大塊生成每次你輸入一些東西到最後一行時新行。它看起來像這樣:
var _addRow ='<tr>' +
'<td width="300"><input type="text" size="29" runat="server" ></td>' +
'<td width="125" class="leftBorder textCenter"><input type="text" size="9" class="units commas" runat="server" /></td>' +
'<td width="100" class="leftBorder textCenter"><input type="text" size="8" class="value commas" runat="server" /></td>' +
'<td width="125" class="leftBorder rightBorder textRight"><input type="text" size="11" readonly="readonly" tabindex="-1" class="totalA1 autoTotal" runat="server" /> </td>' +
'</tr>';
function initialize() {
$(document).on('keypress', '#myTable tr:last input', AddRowToMyTable);
}
function AddRowToMyTable() {
$('#myTable tr:last').after(_addRow);
}
這一切工作只是超級好。
現在,我已經做了一些事情,需要回發。其中之一是我將數據保存在XML表格中,另一個是我可以從表格中的數據中創建PDF。每次我回發時,它都會在數據到達之前丟失所有動態生成的數據。也就是說,如果我寫出一個包含所有數據的XML文件,任何超過第三行(最後一行不是動態生成的)都不會顯示出來。
奇怪的是,有一次我有這個工作。當時,我以爲我保存了數據並立即重新載入,以便讓我的表回來,但那不再工作,我不知道爲什麼。
我的第一個主要問題是:如果我回發到服務器,不應該發送動態行中的所有數據嗎?也就是說,如果我在第6行有數據,即使它在回發完成時會丟失,在被擦除之前是否仍然發送到服務器?我的保存算法如下所示:
private void WriteMyTableToXML()
{
HtmlInputText tContent;
HtmlTableRow tRow;
int i = 1; //First row is headers, which we don't want.
_Writer.WriteStartElement("MyTable");
while (i < tblCropsAndFeed.Rows.Count - 1) // last row should always be blank. We can skip it
{
tRow = tblCropsAndFeed.Rows[i];
_Writer.WriteStartElement("Entry");
string tInputBox0 = tRow.Cells[0].Controls[0].ClientID;
tContent = (HtmlInputText)tRow.FindControl(tInputBox0);
_Writer.WriteStartElement("name");
_Writer.WriteString(tContent.Value);
_Writer.WriteEndElement();
string tInputBox1 = tRow.Cells[1].Controls[0].ClientID;
tContent = (HtmlInputText)tRow.FindControl(tInputBox1);
_Writer.WriteStartElement("units");
_Writer.WriteString(tContent.Value);
_Writer.WriteEndElement();
string tInputBox2 = tRow.Cells[2].Controls[0].ClientID;
tContent = (HtmlInputText)tRow.FindControl(tInputBox2);
_Writer.WriteStartElement("value");
_Writer.WriteString(tContent.Value);
_Writer.WriteEndElement();
_Writer.WriteEndElement();
i++;
}
_Writer.WriteEndElement();
}
其次,有沒有辦法實際只是保持頁面的狀態。不存在這樣的事情嗎?
If(IsPostBack)
{
DontResetThePage();
}
你是否加載任何初始數據,或者它只是簡單的HTML和.NET控件沒有約束力? – Bobby5193
這只是純html和.NET控件,沒有約束力 – mkautzm
你每次都寫同一個xml文件嗎?像你一直在覆蓋,或附加數據? – Bobby5193