我有一个以下字符串:
for(#some conditions){
##
result += "<tr><td>" + dc + "</td><td>" + al + "</td><tr>";
}
现在,我想使用dc
在HTML输入文本区域中显示al
和aspx:grid
的加载次数。
例如,结果的值为:
result = <tr><td>1111</td><td>23</td><td><tr><td>22222</td><td>43</td><tr>
现在我想使用grid
dc al
1111 23
222222 43
目前,我正在使用以下命令填充文本区域。
<script type = "text/javascript">
function submit_a()
{
$.post("../AllocationValidator.aspx", { "data": escape(validatorXML), "scenarioID": scenarioID }, function (result) {
alert("Data Saved!");
$("#allocations").empty();
$("#allocations").html(result);
BodyLoad();
});
}
</script>
<div id = "allocations" style = "width: 650px; padding: 10px; border: 1px solid black;height: 150px; overflow:scroll;"></div>
我的问题是如何实现asp:grid
来显示数据?
答案 0 :(得分:2)
如果您只想在GridView控件中显示检索到的数据。您可以将数据源绑定到控件,也可以以编程方式添加列和行。
您可以绑定任何实现IListSource或IList接口的数据源。这意味着您无法直接绑定result
字符串,如问题标题中所述。您必须将检索到的数据存储在兼容的数据结构中,例如List,以将其绑定为数据源。
要使用数据绑定,您可以将dc
和al
保存在类似字典的数据结构中。假设您只想显示两列数据。
var data = new Dictionary<string, string>();
for (/* Condition */)
{
data.Add(dc, al);
}
grid.DataSource = data;
grid.DataBind();
相应的网格将是
<asp:GridView ID="grid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Key" HeaderText="dc"/>
<asp:BoundField DataField="Value" HeaderText="al" />
</Columns>
</asp:GridView>
如果您使用foreach生成result
字符串,那么您应该考虑使用foreach语句中的对象作为数据源的可能性。