asp net基础知识Word下载.docx

上传人:b****5 文档编号:17998272 上传时间:2022-12-12 格式:DOCX 页数:33 大小:228.17KB
下载 相关 举报
asp net基础知识Word下载.docx_第1页
第1页 / 共33页
asp net基础知识Word下载.docx_第2页
第2页 / 共33页
asp net基础知识Word下载.docx_第3页
第3页 / 共33页
asp net基础知识Word下载.docx_第4页
第4页 / 共33页
asp net基础知识Word下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

asp net基础知识Word下载.docx

《asp net基础知识Word下载.docx》由会员分享,可在线阅读,更多相关《asp net基础知识Word下载.docx(33页珍藏版)》请在冰豆网上搜索。

asp net基础知识Word下载.docx

DataValueField="

CategoryID"

AutoPostBack="

true"

DataSourceID="

DropDownList>

绑定:

结构相同的数据用控件绑定展示

实现绑定功能的控件有两类:

列表类型:

DropDownList/ListBox/CheckBoxList/RadioButton……..可以显示数据的都行

列表一次只能显示一条数据,绑定到表中字段时必须指定字段名称

GridView/DataList/…包含其他控件

如下:

GridView显示的数据如下所示:

其中进行了分页,数据的绑定,各个控件的显示等

 

PName

Price

Quantity

Dele

Chai

39

*

Chang

17

Guaraná

Fantá

stica

20

SasquatchAle

111

SteeleyeStout

1

2

3

功能的实现如下:

其中Eval()用于提取数据,Eval(“”)或Eval(“”,””)第一个参数指定字段,第二个是格式化字符串,用到了占位符{0};

只能放在<

%#%>

中,代表绑定到服务器端的代码

自定义显示列信息&

nbsp;

可以选中多个进行删除操作,删除时要进行询问;

br/>

删除选中行内容时必须得到这一行的ID,因此利用隐藏控件HiddenField,因为ID用户不需要知道,但是进行一系列的操作必须用到。

GridViewID="

GridView1"

SqlDataSource1"

PageSize="

5"

AllowPaging="

True"

AutoGenerateColumns="

false"

Columns>

TemplateField>

ItemTemplate>

CheckBoxID="

ckbID"

/>

HiddenFieldID="

hidID"

Value='

%#Eval("

ProductID"

)%>

'

隐藏控件用于记录产品编号,在选中该行时根据产品编号进行其他相关操作。

/ItemTemplate>

%--<

BoundFieldHeaderText="

PName"

DataField="

ProductName"

--%>

HyperLinkFieldHeaderText="

DataNavigateUrlFormatString="

ProductDetail.aspx?

Pid={0}&

name={1}"

DataNavigateUrlFields="

ProductID,ProductName"

Price"

UnitsInStock"

%--文本框显示数据:

模板列(自定义)

Quantity"

QuantityPerUnit"

--%>

TemplateFieldHeaderText="

TextBoxID="

txtquantity"

Text='

CompareValidatorID="

valiQ"

ErrorMessage="

*"

Text="

ControlToValidate="

ValueToCompare="

0"

Operator="

GreaterThan"

Dele"

ButtonID="

btnDele"

删除"

OnClientClick="

returnconfirm('

真的要删除吗?

)"

OnCommand="

Delete"

CommandArgument='

/Columns>

GridView>

显示选中的行的相关数据

Label1.Text="

;

foreach(GridViewRowrowinGridView1.Rows)

{boolIsChecked=((CheckBox)row.FindControl("

)).Checked;

if(IsChecked)

{stringid=((HiddenField)row.FindControl("

)).Value;

stringprice=row.Cells[2].Text;

stringQuan=((TextBox)row.FindControl("

)).Text;

Label1.Text+="

id:

+id+"

price:

+price+"

quantity:

+Quan+"

}

另一页面接收到的数据

Label1.Text=Request.QueryString["

Pid"

];

Pid是在上一页面中传递参数时定义的名称,名称必须一致

Label2.Text=Request.QueryString["

name"

显示如上的形式用到了控件Datalist

显示所有的产品,每一行显示3个RepeatColumns,横向或竖向设置用RepeatDirection;

价格保留两位小数,并且显示贷币符号Eval("

UnitPrice"

"

{0:

c}"

);

假如库存小于20,显示缺货;

否则显示正常,用到了当前代码中的方法。

DataListID="

DataList1"

RepeatColumns="

3"

RepeatDirection="

Horizontal"

Width="

100%"

table>

tr>

tdrowspan="

ImageID="

img"

ImageUrl='

imagePath"

100"

Height="

150"

/td>

td>

名称:

HyperLinkID="

Pname"

%#Eval("

NavigateUrl='

name="

+Eval("

))%>

一次传递多个参数,但是Eval()最多有两个参数,要进行多个参数的传递用到了字符串的拼接技术。

/tr>

价格:

LabelID="

lblP"

价格显示贷币符号

库存:

lblS"

%#StockStatus(int.Parse(Eval("

).ToString()))%>

库存显示按照上面的要求显示数据,调用了代码中的方法:

StockStatus()

protectedstringStockStatus(intQuantity){returnQuantity>

20?

"

正常"

:

缺贷"

tdcolspan="

2"

AddToSc"

添加到购物车"

AddTo"

CommandName="

Fc"

AddToF"

添加到收藏夹"

S"

方法:

protectedvoidAddTo(objecto,CommandEventArgse)

{if(e.CommandName=="

Response.Redirect("

Default.aspx?

Pid="

+e.CommandArgument);

if(e.CommandName=="

SavePage.aspx?

+e.CommandArgument);

/table>

DataList>

数据库绑定

一、提取表Products的前20条数据展示,提取所有的列,但是只显示name列和价格列,用代码实现数据的提取。

二、用dataset加载Categories表中的所有数据,用下拉框展示,显示种类的名称,记载种类的ID,在列表框中显示以c开头的名称,分页用到页码改变事件,并且要重新绑定

OnSelectedIndexChanged="

DropDownList1_SelectedIndexChanged"

ListBoxID="

ListBox1"

137px"

ListBox>

AllowSorting="

//进行分页、排序OnPageIndexChanging="

GridView1_PageIndexChanging"

OnSorting="

GridView1_Sorting"

Name"

SortExpression="

//根据Price排序

//根据CategoryID排序

ImageFieldDataImageUrlField="

ControlStyle-Height="

40"

相关的代码片断:

protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)

{//绑定

DataAccessda=newDataAccess();

DataSetds=da.GetProducts();

DataViewdv=newDataView(ds.Tables[0]);

dv.RowFilter="

CategoryID="

+DropDownList1.SelectedValue;

 //进行过滤;

根据下拉列表框的值显示对应的数据

//根据CID过滤产品的数据,按照价格排序

dv.Sort="

UnitPricedesc"

//dv绑定到表格

GridView1.DataSource=dv;

GridView1.DataBind();

 //列表框显示数据,以c开头的产品名称:

通配符

DataViewdv1=newDataView(ds.Tables[0]);

dv1.RowFilter="

ProductNamelike'

c%'

  //过滤,以c开头的产品名称

ListBox1.DataSource=dv1;

ListBox1.DataTextField="

ListBox1.DataBind();

protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)

{//分页

//当gridview的页面的索引发生改变时,更改为新的页面索引。

GridView1.PageIndex=e.NewPageIndex;

//重新绑定

+DropDownList1.SelectedValue;

protectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse)

{//对数据排序表达式排序,然后绑定

if(ViewState["

sort"

]==null)

ViewState["

]="

asc"

stringsortstate=ViewState["

].ToString();

if(sortstate=="

|sortstate=="

desc"

sortstate="

elsesortstate="

//?

数据的实时性:

得到最新数据--Cache

//优化:

页面第一次加载时,将信息保存到ds中

DataSetds=newDataSet();

if(Cache["

DS"

{DataAccessda=newDataAccess();

ds=da.GetProducts();

Cache.Insert("

ds,null,DateTime.Now.AddHours

(1),TimeSpan.Zero);

elseds=(DataSet)Cache["

//这种方法不能保证数据的实时性。

//DataSetds=(DataSet)Application["

//if(ds.Tables.Count==0)

//{DataAccessda=newDataAccess();

//ds=da.GetProducts();

//Application["

]=ds;

//}

dv.Sort=e.SortExpression+"

+sortstate;

//改写

]=sortstate;

}

多表的应用一对多,一是父,多是子表

publicclassDataAccess

{//表Employees和表Orders

publicDataSetGetEmployeeAndOrders()

{

stringconStr=ConfigurationManager.ConnectionStrings["

].ConnectionString;

SqlConnectionconn=newSqlConnection(conStr);

SqlDataAdapterda=newSqlDataAdapter("

select*fromEmployeesselect*fromOrders"

conn);

da.Fill(ds);

//修改表名

ds.Tables[0].TableName="

Em"

ds.Tables[1].TableName="

Od"

//创建两个表之间的关系

DataColumnPareCol=ds.Tables["

].Columns["

EmployeeID"

DataColumnChildCol=ds.Tables["

DataRelationdr=newDataRelation("

Relation"

PareCol,ChildCol);

dr.Nested=true;

//以便创建嵌套的xml数据

ds.Relations.Add(dr);

returnds;

}

页面中应用

DataSetds=da.GetEmployeeAndOrders();

//获取当前雇员的订单的数量

//先得到主表中某一行--父行,根据父行找所有的子行

//根据下拉列表框中选中的雇员的名称的ID找到表中对应的那一行的数据。

DataRowPareRow=ds.Tables[0].Rows[DropDownList1.SelectedIndex];

DataRow[]ChildRows=PareRow.GetChildRows("

);

Label1.Text=ChildRows.Length.ToString();

//行视图:

dataView

//要显示所有的数据,根据运费排序

DataViewPdv=newDataView(ds.Tables[0]);

DataViewCdv=Pdv[DropDownList1.SelectedIndex].CreateChildView("

Cdv.Sort="

Freight"

GridView1.DataSource=Cdv;

动态设置主题

ListItem>

Cold<

Hot<

&

protectedvoidPage_PreInit(objecto,EventArgse)

{Page.Theme=Profile.dpt;

DropDownList1.Text=Profile.dpt;

protectedvoidPage_Load(objectsender,EventArgse)

{}

protectedvoidDropDownList1_SelectedIndexChanged(object

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1