例如Repeater重复项 我们要在一个表里作删除以及修改 我们可以在Repeater中添加button控件
前台代码:
button有属性commandName 以及commandArgument
我们可以在coomandArgument中添加内容这样在Repeater中绑定的值就可以获取了,从而对这个值进行操作

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td><input type="checkbox" name="checkbox2" id="checkbox2" /></td>
<td class="name"><%#Eval("Title") %></td>
<td><%# Eval("author") %></td>
<td><%# Eval("Categories.Name") %></td>
<td>
<asp:Button ID="Button1" runat="server" Text="修改" CommandName ="xiuGai" CommandArgument ='<%#Eval("id") %>'/>
<asp:Button ID="Button2" runat="server" Text="删除" CommandName="shanChu" CommandArgument ='<%#Eval("id") %>' OnClientClick="javascript:return confirm('确认要删除吗?');"/>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
后台代码:
我们可以从RepeatercommandeventArgs中获取commandName 通过swtich从而应对了多个button的障碍 事件是Repeater的onitemCommand

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
switch (e.CommandName)
{
case "xiuGai":
// Response.Redirect("bookEdit.aspx?id=" + e.CommandArgument);
break;
case "shanChu":
Books books = new Books() { Id =Convert.ToInt32(e.CommandArgument) };
try
{
BooksManager.Del(books);
Response.Write("<script>alert('删除了id为:" + e.CommandArgument + "');</script>");
Repeater1.DataSource = BooksManager.GetPageBooks(out pagecount, 10, Convert.ToInt32(ViewState["pageindex"]));//重新绑定
Repeater1.DataBind();
}
catch(Exception ex)
{
Response.Write("<script>alert('删除不成功');</script>");
}
break;
}
}

viewState
起源:因为网页是无状态的,例如我们的分页 我们每次去查询数据库(分页),我们不知道当前的PageIndex是多少,如果用变量 + - ,我们每次提交服务器,页面的值都会被刷新.所有我们要使用viewState;
用法 :viewState["value"] = 1; 赋值
int value = viewState["value"];取值
viewState是生命周期是本网页启动 本网页关闭
--------------------------------------------------------------------------------
HyperLink
起源:该控件是超级链接控件 和 html中<a>类似
每次点击的时候都会提交一次服务器
设置NavigateUrl

前台: <asp:HyperLink ID="HyperLink1" runat="server">第一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink2" runat="server">上一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink3" runat="server">下一页</asp:HyperLink>
<asp:HyperLink ID="HyperLink4" runat="server">最后一页</asp:HyperLink>
后台:
HyperLink1.NavigateUrl = "DemoWebForm.aspx?pageIndex=1";
HyperLink2.NavigateUrl = "DemoWebForm.aspx?pageIndex=" + (pageIndex - 1);
HyperLink3.NavigateUrl = "DemoWebForm.aspx?pageIndex=" + (pageIndex + 1);
HyperLink4.NavigateUrl = "DemoWebForm.aspx?pageIndex=" + pageCount;
//通过 request.querystring["pageindex"] 获取分页的index 在访问数据库绑定给repeater

ASP.NET Repeater与Button 以及viewState 和 hyperLink的更多相关文章

  1. [ASP.NET]asp.net Repeater控件的使用方法

    asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...

  2. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...

  3. ASP.NET Repeater 绑定 DropDownList Calendar 选择日期

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  4. ASP.NET Repeater 控件分页

    protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...

  5. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  6. Asp.net Repeater控件

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行.     Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出 ...

  7. asp.net repeater控件操作

    Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...

  8. asp.net Repeater使用例子,包括分页

    <style type="text/css">    .tab{border-collapse:collapse; margin:0 auto;}    .tab th ...

  9. 给Repeater增加button事件,并绑定值

    ASPX页面: 增加两个事件,及传值. 1<asp:Repeater ID="rptList" OnItemDataBound="rptList_ItemDataB ...

随机推荐

  1. 深度理解return具体用法

    ''' 下面我们来更加深度的理解return具体用法!!! return 默认返回None return 可以返回任意数据类型的数据 return 返回多个值的时候,会以元祖的形式把多个值包在一起 ' ...

  2. springcloud-微服务架构基础

    一 前言 学习微服务要从基础的架构学起,首先你要有个微服务的概念才能学习对吧!!如果你都不知道啥是微服务,就一头扎进去学习,你自己也觉得自己也学不会对吧.本篇文章主要让大家快速了解基础的架构分格,以便 ...

  3. JBPM4常用表结构及入门流程

    JBPM4 常用表结构 第一部分:表结构说明 Jbpm4 共有18张表,如下,其中红色的表为经常使用的表   一:资源库与运行时表结构 1.  JBPM4_DEPLOYMENT 流程定义表 2.  J ...

  4. 使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

    更多内容,关注公众号:来学云计算 场景: 某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functi ...

  5. 萌新入门Github请看这里,学不会远程教

    一些废话 本文的主旨是为初次接触Github的同学提供一个入门的教程,如果你已经是Github老鸟,可以忽略本文哦,另外本文只是抛砖引玉,其实最好的教程是官方文档!!! Github官网 Github ...

  6. Blog 须知

    转载 转载需通过博主同意方可 代码格式 博主遵循 \(Google\) 代码格式,代码满足以下规范: 字符数 每行代码必需不超过 80 字符 缩进 缩进不使用制表符,而是 2 个空格缩进 函数 函数左 ...

  7. GeoServer 2.15.0版本跨域问题解决方法

    geoserver默认不开启跨域设置,开启步骤如下: 1.修改配置文件web.xml,该配置文件的路径如下 \webapps\geoserver\WEB-INF\web.xml 2.搜索:cross- ...

  8. Android 项目优化(四):内存优化

    在之前的文章中我们总结过跟Android 内存相关的知识或者问题,这里先列举一下: 1. Java 内存回收机制——GC机制 2. Java 对象引用方式 —— 强引用.软引用.弱引用和虚引用 3.  ...

  9. 二分查找(Java)

    题目: 编写程序,完成以下功能: (1)输入5个整数到数组中; (2)使用冒泡法对5个数按从小到大排序,输出排序后的数组; (3)输入一个整数X,在数组中用二分法查找X,找到输出X在数组中的下标,找不 ...

  10. 形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法

    形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法 有一种方法叫做主方法(Master method)是用来专门计算这种形式的时间复杂度的,方法具体如下: 下边举例进行说明: ...