我在asp.net中有以下表格:
<table style="width: 98%" id="tblOtherDoc">
<tr>
<td style="width: 10; text-align: left;">
<span">Documents:</span>
</td>
</tr>
<tr>
<td>
<asp:HiddenField ID="hidOtherPath" runat="server" Value='<%# Bind("UploadLocationOther") %>' />
<a href="#" style="font-size: 12px; color: #2014FF; float: left; vertical-align: middle" onclick="uploadNew(this)">Add Other</a> <span style="float: left;">
<asp:CheckBox ID="cbOther" runat="server" onclick="otherDocsClicked(this)" Checked='<%# Bind("OtherAttached") %>' /></span>
<a href="#" style="font-size: 12px; color: #2014FF; float: left; vertical-align: middle" onclick="downloadFile(this)" title="docOther">View</a>
</td>
</tr>
</table>
每次单击该复选框时,我都会使用jquery向表中添加一个新的确切行(以便可以添加多个文档)。
// Add new area for Other Document attachements
function otherDocsClicked(row) {
var isChecked = $(row).closest("tr").find("input[type=checkbox][id*=cbOther]").is(':checked');
if (isChecked == true) {
var clone = $('#tblOtherDoc tbody>tr:last').clone(true);
clone.find("input[type='hidden'], select").val("");
clone.find("input[type='checkbox'], checked").removeAttr('checked');
clone.insertAfter('#tblOtherDoc tbody>tr:last');
}
}
我想知道如何在返回已添加的文档列表时使用C#动态添加这些行。
或者,如果有人认为有更好的方法可以做到这一点,我会非常感谢任何输入,因为这是我能提出的唯一解决方案,它似乎给了我更多的麻烦。
答案 0 :(得分:2)
您可以使用asp.net表格控件:
EG。 在c#代码中添加一行:
TableRow row = new TableRow();
TableCell cell = new TableCell();
cell.Controls.Add(new TextBox());
row.Cells.Add(cell);
table.Rows.Add(row);
在.aspx页面中:
<asp:Table ID="table" runat="server" />
答案 1 :(得分:0)
使用Kapils答案,但从复选框中删除jquery代码。使用jquery附加到on on on on事件。在复选框详细信息中,不要使用onclick =“otherDocsClicked(this)”,为复选框添加一个类,例如。 chkDoSomething然后执行以下操作。
$(".chkDoSomething").live('change',function(){
//your code goes here.
}
然后你应该能够在c#中添加像Kapil建议的行,你的jquery仍然应该开火