关于asp.net中的listview的问题 [英] Question about listview in asp.net
本文介绍了关于asp.net中的listview的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ListView1从SQl列名(老师名)中检索所有单列数据
我想将ListView1的所有值(Teachername)存储到单个TextBox1.Text中.
请帮助我我的代码无法正常工作. ..
.aspx代码:
< div 样式 =" < asp:ListView ID =" runat 服务器" DataSourceID SqlDataSource1"
span> ItemPlaceholderID myItemPlaceHolder " < LayoutTemplate >
< asp:PlaceHolder ID =" runat 服务器" < /asp:PlaceHolder >
< /LayoutTemplate >
< ItemTemplate >
<%#Eval(" )%> ,
< /ItemTemplate >
< /asp:ListView >
< asp:SqlDataSource ID =" runat 服务器"
ConnectionString <% $ ConnectionStrings:Bridges_databaseConnectionString3 %> "
span> SelectCommand SELECT [Teachername] FROM [tblstaff]" < >
< asp:TextBox ID =" runat 服务器" < >
< /div >
.cs代码:
使用系统;
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用使用System.Web.UI.WebControls;
命名空间 nestedgrid
{
公共 部分 class write_data:System.Web .UI.页面
{
字符串 值;
受保护的 无效 Page_Load(对象发件人,EventArgs e)
{
// TextBox1.Text = ListView1.ToString();
foreach (ListViewDataItem项目 in ListView1.Items中的项目)
{
值 = item.ToString();
TextBox1.Text + = 值;
}
}
}
}
解决方案
ConnectionStrings:Bridges_databaseConnectionString3 %> " span> SelectCommand SELECT [Teachername] FROM [tblstaff]" < > < asp:TextBox ID =" runat 服务器" < > < /div >
.cs代码:
使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Web; 使用 System.Web.UI; 使用使用System.Web.UI.WebControls; 命名空间 nestedgrid { 公共 部分 class write_data:System.Web .UI.页面 { 字符串 值; 受保护的 无效 Page_Load(对象发件人,EventArgs e) { // TextBox1.Text = ListView1.ToString(); foreach (ListViewDataItem项目 in ListView1.Items中的项目) { 值 = item.ToString(); TextBox1.Text + = 值; } } } }
问题在于,当运行 Page_Load 时,尚未填充 ListView 中的项目.您应该改用 ListView.OnItemDataBound 事件:
< asp:listview onitemdatabound = " xmlns:asp = " > ID = " runat = " 服务器" DataSourceID = SqlDataSource1" ItemPlaceholderID = " > </ asp:listview >
背后的代码:
受保护的 void ItemDataBound(对象发件人,ListViewItemEventArgs e) { TextBox1.Text + =(例如,e.Item.DataItem as System.Data.DataRowView)[" 老师姓名"]; }
hi every one. ..my question about ListView:
ListView1 retrieving all single column data from SQl column name(Teachername)
i want to store all values(Teachername) from ListView1 into a single TextBox1.Text.
kindly help me my code is not working. ..
.aspx code :
<div style="height: 154px; width: 506px;">
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"
ItemPlaceholderID="myItemPlaceHolder">
<LayoutTemplate>
<asp:PlaceHolder ID="myItemPlaceHolder" runat="server">
</asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<%# Eval("Teachername") %>,
</ItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Bridges_databaseConnectionString3 %>"
SelectCommand="SELECT [Teachername] FROM [tblstaff]"></asp:SqlDataSource>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
.cs code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace nestedgrid
{
public partial class write_data : System.Web.UI.Page
{
string value;
protected void Page_Load(object sender, EventArgs e)
{
//TextBox1.Text = ListView1.ToString();
foreach (ListViewDataItem item in ListView1.Items)
{
value = item.ToString();
TextBox1.Text += value;
}
}
}
}
解决方案
ConnectionStrings:Bridges_databaseConnectionString3 %>" SelectCommand="SELECT [Teachername] FROM [tblstaff]"></asp:SqlDataSource> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div>
.cs code :
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace nestedgrid { public partial class write_data : System.Web.UI.Page { string value; protected void Page_Load(object sender, EventArgs e) { //TextBox1.Text = ListView1.ToString(); foreach (ListViewDataItem item in ListView1.Items) { value = item.ToString(); TextBox1.Text += value; } } } }
The problem is that when Page_Load runs, the items in ListView have not been populated yet. You should use the ListView.OnItemDataBound event instead:
<asp:listview onitemdatabound="ItemDataBound" xmlns:asp="#unknown"> ID="ListView1" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="myItemPlaceHolder" > </asp:listview>
Code behind:
protected void ItemDataBound(object sender, ListViewItemEventArgs e) { TextBox1.Text += (e.Item.DataItem as System.Data.DataRowView)["Teachername"]; }
这篇关于关于asp.net中的listview的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文