0
我有这张表可以添加和删除行。这工作非常好。ASP.Net从表中动态创建的行获取信息
<asp:Table ID="SiteInfo" runat="server" Style="border-style: solid">
<asp:TableRow>
<asp:TableCell Style="border-style: solid">
<asp:Label runat="server" Text="Name of Site">
</asp:Label>
</asp:TableCell>
<asp:TableCell Style="border-style: solid">
<asp:Label runat="server" Text="Territory">
</asp:Label>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>
<asp:TextBox ID="Site1" runat="server" Style="border-style: solid"></asp:TextBox>
</asp:TableCell>
<asp:TableCell>
<asp:TextBox ID="Territory1" runat="server" Style="border-style: solid"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<br />
<asp:Button ID="addSite" runat="server" Text="Add a Site" OnClientClick="javascript:addRow();"></asp:Button>
<asp:Button ID="removeSite" runat="server" Text="Remove" OnClientClick="javascript:removeRow();"></asp:Button>
<!-- Add a row from the site table -->
<script type="text/javascript" language="javascript">
function addRow() {
var table = document.getElementById('<%=SiteInfo.ClientID%>');
var row = table.insertRow(table.rows.length);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = '<input type="text" id="Site_' + table.rows.length + ' " Style="border-style: solid" />';
cell2.innerHTML = '<input type="text" id="Territory_' + table.rows.length + ' " Style="border-style: solid" />';
}
</script>
<!-- Remove a row from the site table -->
<script type="text/javascript" language="javascript" id="`">
function removeRow() {
var table = document.getElementById('<%=SiteInfo.ClientID%>');
if (table.rows.length - 1 > 1)
table.deleteRow(table.rows.length - 1);
}
</script>
的问题是我有一个提交按钮,需要能够阅读和发送该信息,但我不知道如何从被添加到表的新行的输入。这是我想要做的,但它不起作用。
protected void submit_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
if (Consent.Checked)
{
sb.Append("Site Name: " + Site1.Text + " | Territory : " + Territory1.Text + "\n");
if (SiteInfo.Rows.Count > 2)
{
for (int i = 2; i < SiteInfo.Rows.Count; i++)
{
sb.Append("Site Name: " + SiteInfo.Rows[i].Cells[0].Text + " Territory : " + SiteInfo.Rows[i].Cells[1].Text + "\n");
}
}
}
“document.getElementById(”tableClientID“)。innerHTML” 究竟会得到什么? –
我已更新答案以回答此查询。 – Winnie