【发布时间】:2015-01-03 18:06:05
【问题描述】:
在下面的代码中,我有一个带有文本框和下拉列表的 html 表,我想将 datset 中的值绑定到 html 表。但它只绑定 1 行,但它有 15 条记录。请帮我这样做。
Asp.net 代码:-
public string getWhileLoopData()
{
GetProduct();
string htmlStr = "";
MastersClient objIndent = new MastersClient();
DataSet ds = objIndent.GetIndent(hidIndentID.Value);
DataRow[] drIndentID = ds.Tables[0].Select("IndentID =" + hidIndentID.Value);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
txtQty.Value = drIndentID[i]["RecommentedQuantity"].ToString();
string Qty = txtQty.Value;
string strProductID = drIndentID[i]["ProductID"].ToString();
ddlProduct.Text = strProductID;
txtDate.Text = drIndentID[i]["ProductRequiredDate"].ToString();
string date = txtDate.Text;
Response.Write( htmlStr += "<tr><td>" + Qty + "</td><td>" + strProductID + "</td><td>" + date + "</td></tr>");
}
return htmlStr;
}
HTML 表格:-
<table id="dataTable" width="350px" border="1" runat="server">
<tr >
<td><input id="checkbox" type="checkbox" name="chk" runat="server"/></td>
<td><input type="text" name="txt" id="txtQty" runat="server"/></td>
<td>
<asp:DropDownList ID="ddlProduct" runat="server" Style="width: 100%; height:23px" ></asp:DropDownList>
</td>
<td>
<asp:TextBox ID="txtDate" Style="text-align: left" onkeypress="return isNumberKey(event, false);"
onblur="DateValidation(this)" onkeyup="ValidateDate(this, event.keyCode)" onkeydown="return DateFormat(this, event.keyCode)"
Height="20px" runat="server" Width="80px"> </asp:TextBox>
</td>
</tr>
</table>
【问题讨论】:
-
很明显,您的控件(txtQty,txtData,..) 将由 for 循环中的最新行填充,并且 response.write 不会将新行添加到您的 html 表中。
-
@aria 那么我们如何添加新行并为其添加值?
-
现在查看答案并在此处写下您的评论以完成。
-
您可以使用gridview并将文本框和下拉列表等模板字段添加到gridview