【发布时间】:2013-10-05 18:07:39
【问题描述】:
我有一个包含 2 列的表格。 并有一个“添加行”按钮,允许用户动态添加带有 2 个文本框的新行(通过使用 jJvascript 来提高性能而无需回发到服务器)。
我希望检索用户键入的所有值并保存到数据库。
我的问题是,我无法在服务器端(在 .aspx.cs 文件中)检索表的值,因为我的表不是 runat="server",如果我的表 runat="server",我无法在客户端添加行一边。
有解决此问题的想法或有其他替代方法吗?
以下是我的“添加行”代码:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
if (rowCount > 10) {
alert("Only 10 rows allow");
return false;
}
var cell1 = row.insertCell(0);
cell1.innerHTML = rowCount;
var cell2 = row.insertCell(1);
var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox[]";
element1.style = "width:345px;"
cell2.appendChild(element1);
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
element2.style = "width:345px;"
cell3.appendChild(element2);
}
这是表格的代码
<table id="tblAddNode" width="750px" border="1">
<tr>
<th width="10px">No.</th>
<th width="350px">Description</th>
<th width="350px"> Keyword </th>
</tr>
<tr>
<td width="10px">1</td>
<td width="350px"> <input type="text" style="width:345px;"/> </td>
<td width="350px"> <input type="text" style="width:345px;"/> </td>
</tr>
</table>
已编辑 添加行按钮
input type="button" value="Add Row" onclientclick="addRow('tblAddNode')"
提交按钮
<asp:Button ID="EnterRootNodeButton" runat="server" Text="OK" OnClick="EnterRootNode_Click"/>
【问题讨论】:
-
无论您使用 ASP.Net Forms 想出什么解决方案都不会很漂亮。您应该使用 javascript 框架使用 AJAX 方法。
-
有提交按钮吗?或者您希望单击添加按钮将数据发送到服务器?
-
@Dvir.. yaya 还有另一个提交发送数据到服务器。
-
@SpencerRuport.. 好的.. 我会尝试这样做.. 谢谢..
标签: javascript c# asp.net html-table