ASP.NET Repeater与Button 以及viewState 和 hyperLink
例如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的更多相关文章
- [ASP.NET]asp.net Repeater控件的使用方法
asp.net Repeater控件的使用方法 -- : 4770人阅读 评论() 收藏 举报 asp.netserveraspdatasetdeletexhtml 今天学习了,Repeater控件 ...
- ASP.NET repeater添加序号列的方法
ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...
- ASP.NET Repeater 绑定 DropDownList Calendar 选择日期
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- ASP.NET Repeater 控件分页
protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...
- Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别
2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...
- Asp.net Repeater控件
Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出 ...
- asp.net repeater控件操作
Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...
- asp.net Repeater使用例子,包括分页
<style type="text/css"> .tab{border-collapse:collapse; margin:0 auto;} .tab th ...
- 给Repeater增加button事件,并绑定值
ASPX页面: 增加两个事件,及传值. 1<asp:Repeater ID="rptList" OnItemDataBound="rptList_ItemDataB ...
随机推荐
- tinymce插件preview改造增加全屏按钮
近期需要用到tinymce的preview插件,但preview出来的界面太小了,通过投影仪出来看的不清晰,于是想在preview的预览界面中增加全屏.放大和缩小的按钮,改造内容如下: 由于previ ...
- 我的chrome 智能扩展插件copier开源了!!!
整理了下之前写的chrome-extensions-copier,分享给大家. 这个插件呢,主要用来在chrome浏览器上复制某些网站的某些特定内容,主要是用来复制代码,提高效率!(没办法,某些网站不 ...
- Vue与Django前后台分离跨域配置
一.跨域: 简单来说:如果前端向后端请求数据,前后端的的ip和端口都是不一致的,就是不在统一域名下,就出现了CORS跨域问题. 二.后台处理跨域 在django后台环境目录下安装插件: >: p ...
- React搭建项目(全家桶)
安装React脚手架: npm install -g create-react-app 创建项目: create-react-app app app:为该项目名称 或者跳过以上两步直接使用: npx ...
- JavaScript图形实例:四瓣花型图案
设有坐标计算公式如下: X=L*(1+SIN(4α))*COS(α) Y=L*(1+SIN(4α))*SIN(α) 用循环依次取α值为0~2π,计算出X和Y,在canvas画布中对坐标位置(X,Y)描 ...
- git常用情景和基础命令
git常用情景和基础命令 将项目克隆到本地 --xxx是git的地址 git clone xxxx 或者初始化git(github提供滴) --新建一个readme.md文件 echo "# ...
- 利用Python写一个抽奖程序,解密游戏内抽奖的秘密
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客挖掘机 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- SSM框架之SpringMVC(4)返回值类型及响应数据类型
SpringMVC(4)返回值类型及响应数据类型 1. 返回值分类 1.1. 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址. @RequestM ...
- HTML 表单模板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS---DOM---自定义属性引入和移除
总结:在html标签中添加的自定义属性, 如果想要获取这个属性的值, 需要使用getAttribute("自定义属性的名字")才能获取这个属性的值 html标签中有没有什么自带的属 ...