关于asp.net中的listview的问题 [英] Question about listview in asp.net

查看:73
本文介绍了关于asp.net中的listview的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好. ..my关于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆