Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > C#/.NET入门教程

ASP.NET入门教程:ListView 与 DropDownList的使用

来源:中文源码网    浏览:230 次    日期:2024-05-13 13:42:33
【下载文档:  ASP.NET入门教程:ListView 与 DropDownList的使用.txt 】


ASP.NET笔记之 ListView 与 DropDownList的使用
1、Repeater用来显示数据、ListView用来操作数据
InsertItemTemplate和updateItemTemplate**Eval(显示数据)和Bind(双向绑定:不仅是需要展现,更需要把数据绑定到数据库中)
ItemPlaceholderID:占位符,决定占位,把头部(之上)和尾部(之下)分隔开ItemTemplate:展示功能
自动生成的ListView需要调整的地方(1、生成的样式要提到style中,不要用内联的方式(2、ItemTemplate里面一半没必要用展示只读数据,所以可以直接输出<%#Eval("id")%>(3、LayoutTemplate中必须有一个ItempPlaceholderID 的服务端控件(4、LayoutTemplate中表头的位置要汉化,所有template中的不需显示的字段需删除或更改位置
2、事件流程同Repeater:
//首先判断数据行的类型e.Item.ItemType==ListViewItemType.DataItem
//把e.Item转化成ListViewDataItem才能拿到DataItemListViewDataItem lvDataItem=(ListViewDataItem)e.Item;DataRowView rowView=(DataRowView)lvDataItem.DataItem;//获得某一列var xRow=(...DAL.DataSet1.T_UserRow)rowVIew.Row;//获得某一列的值xRow.Age、xRow.sName...etc.
3、具体注意(1、设定相应的按钮、控件、Validator为童颜的ValidationGroup,防止不同模板中的Validator互相干扰,(2、将Cancel按钮中的CausesValidation="false"使得插入修改数据时可以取消操作,这样即使在同一个分组内也可以不互相影响
4、给InsertItemplate增加默认值//在ItemCreate属性中进入函数if(e.Item.ItemType==ListViewItemType.InsertItem){TextBox AgeText=(TextBox)e.Item.FindControl("AgeID");AgeText.Text="20";}
5、主键Guid:插入到数据库
(1、ListView的ItemInserting属性://要插入到数据库之前的数据的键值对e.values["id"]=Guid.NewGuid();
(2、ListView的ItemUpdateing属性:e.ItemIdexe.OldValues//更新前的值e.NewValues["Age"]//更新后的值e.Cancel=true;//取消非法数据插入
ObjectDataSource绑定id为guid 类型的时候
6、DropDrownList
(1、//包含在DropDrownList中的项
(2、**后台代码:更新的时候//找到ListView//ListView1.Item[e.ItemIndex].FindControl("ID");//它是一个DropViewListDropDrownList d=(DropDrownList)listView1.Item[e.ItemIndex].FindControl("ID");//赋值e.NewValues=["字段"]=d.SelectedValue;
(3、**后台代码:实现编辑时显示原先的数据//有数据行if(e.Item.ItemType==ListVIewDataList.DataItem){//取控件DropDownList d=(DropDownLIst)e.Item.FindControl("ID");
if(d!=null){//取到这一行绑定的数据ListViewDataItem lv=(ListViewDataItem)e.Item;DataRowItem row=(dataRowItem)lv.DataItem;//如果这一行有数据if(row!=null){//读取数据库该Row的值var myRow=(项目名称.DAL.DataSetUsers.T_Users)row.Row;
//将读取打偶的Row值设置为下拉菜单中的选项d.SelectedValue=myRow.字段;}}}
(4、 可以看不可以用 Enabled="false
友情链接管理:
效果:
存在问题总结:
(1、警告 1 元素“ListView”不是已知元素。原因可能是网站中存在编译错误,或者缺少 web.config 文件。 E:\code\Projects\WebSite_zzl01\友情链接\LinkUrl_Admin.aspx 39 10 友情链接
(2、onLinkTypeChange(this,'" + logoID.ClientID + "') 中传给前台javascript的ID不是客户端的ID,会导致显示和隐藏的功能无法实现,所以增加一个myID
: logoID.Attributes["myid"] = logoID.ClientID; 来传递参数
LinkUrl_Admin.aspx.cs复制代码 代码如下:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace 友情链接 { public partial class LinkUrl_Admin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) { //ListView1的属性ItemDataBound数据绑定每一行 //显示数据 if (e.Item.ItemType == ListViewItemType.DataItem) { DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType"); ListViewDataItem dataitem = (ListViewDataItem)e.Item; DataRowView myrow = (DataRowView)dataitem.DataItem; if (ddlsLinkType != null && myrow != null) { var sUrl = (友情链接.ADL.DataSet1.T_LinksRow)myrow.Row; ddlsLinkType.SelectedValue = sUrl.sLinkType; } } } protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e) { //插入数据 DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType"); e.Values["sLinkType"] = ddlsLinkType.SelectedValue; } protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e) { //更新数据 DropDownList ddlsLinkType = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("ddlsLinkType"); e.NewValues["sLinkType"] = ddlsLinkType.SelectedValue; } protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem || e.Item.ItemType == ListViewItemType.InsertItem) { DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType"); TextBox logoID = (TextBox)e.Item.FindControl("LogoUrlTextBox"); if (ddlsLinkType != null&&logoID!=null) { //onchange是html中select的属性 //onLinkTypeChange是后台代码调用前台javascript中自定义的jQuery函数 logoID.Attributes["myid"] = logoID.ClientID; ddlsLinkType.Attributes["onchange"] = "onLinkTypeChange(this,'" + logoID.ClientID + "')"; if(ddlsLinkType.SelectedValue=="Text"){ logoID.Style["display"] = "none"; } } } } } }LinkUrl_Admin.aspx复制代码 代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinkUrl_Admin.aspx.cs" Inherits="友情链接.LinkUrl_Admin" %> 友情链接管理页面
文本 图片
未返回数据。
文本 图片 文本 图片
序号 网站名称 链接类型 网站网址 logo网址

相关内容