GridView按钮事件
1.html代码
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<div style="width: 129px">
<asp:Button ID="btnPass" runat="server" Text="通过" OnCommand="pass" CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" />
<asp:Button ID="btnRefuse" runat="server" Text="不通过" OnCommand="refuse" CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<asp:Button ID="btnDelete" Width="60" runat="server" Text="删除" CommandName="Delete" />
</ItemTemplate>
</asp:TemplateField>
2.后台代码
protected void gvAuthManagement_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int index = e.RowIndex;
string openId = ((Label)gvAuthManagement.Rows[index].Cells[].FindControl("Label4")).Text;
AuthorizationInfo authInfo = new AuthorizationInfo { OpenId = openId };
AuthorizationBiz.Delete(authInfo);
InfoList = AuthorizationBiz.Query(new AuthorizationInfo());
Bind(InfoList);
} //给微信用户授权
protected void pass(object sender, CommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
string lienceplate = ((Label)gvAuthManagement.Rows[index].Cells[].FindControl("Label1")).Text;
string status = ((Label)gvAuthManagement.Rows[index].Cells[].FindControl("Label6")).Text;
AuthorizationInfo authInfo = new AuthorizationInfo { LiencePlateNumber = lienceplate };
IList<AuthorizationInfo> list = AuthorizationBiz.Query(authInfo); //微信客服消息回复通过
string access_token = AccessTo.GetExistAccessToken();
string content = "{ \"touser\":\"" + list[].OpenId + "\",\"msgtype\":\"text\",\"text\":{ \"content\":\"亲\"}}";
string url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + access_token;//json格式的数据
RequestHelper.SendPost(content, url, "application/json");
if (status != "已授权")
{
authInfo.Status = "已授权";
AuthorizationBiz.Update(authInfo);
}
InfoList = AuthorizationBiz.Query(new AuthorizationInfo());
Bind(InfoList);
} //拒绝微信用户授权
protected void refuse(object sender, CommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
string lienceplate = ((Label)gvAuthManagement.Rows[index].Cells[].FindControl("Label1")).Text;
string status = ((Label)gvAuthManagement.Rows[index].Cells[].FindControl("Label6")).Text;
AuthorizationInfo authInfo = new AuthorizationInfo { LiencePlateNumber = lienceplate };
IList<AuthorizationInfo> list = AuthorizationBiz.Query(authInfo); //微信客服消息回复通过
string access_token = AccessTo.GetExistAccessToken();
string content = "{ \"touser\":\"" + list[].OpenId + "\",\"msgtype\":\"text\",\"text\":{ \"content\":\"您的微信号授权申请被拒绝\"}}";
string url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + access_token;//json格式的数据
RequestHelper.SendPost(content, url, "application/json");
if (status != "未授权")
{
authInfo.Status = "未授权";
AuthorizationBiz.Update(authInfo);
}
InfoList = AuthorizationBiz.Query(new AuthorizationInfo());
Bind(InfoList);
}
二、
1)html代码
<asp:TemplateField HeaderText="编辑" ItemStyle-Width="80">
<ItemTemplate>
<asp:Button ID="btn_edit" runat="server" Text="编辑" CommandName="Edit" ForeColor="#1C94C4"></asp:Button>
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="btn_update" runat="server" CommandName="Update" Text="更新" /><%--OnClientClick="update()"--%>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除" ItemStyle-Width="80">
<ItemTemplate>
<asp:Button ID="btn_delete" runat="server" Text="删除" CommandName="Delete" ForeColor="#1C94C4"></asp:Button>
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="btn_cancel" runat="server" CommandName="Cancel" Text="取消" />
</EditItemTemplate>
</asp:TemplateField>
2).
//行删除
protected void gvCenterMangerment_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//此处只实现了单行的删除
int index = e.RowIndex;
string centerName = ((Label)gvCenterMangerment.Rows[index].Cells[].FindControl("Label2")).Text;
ContactInfo contactInfo = new ContactInfo { CenterName = centerName };
try
{
ContactBiz.Delete(contactInfo); }
catch (Exception ex)
{
Logger.Write("中心名称为:" + centerName + "的记录删除失败!原因:" + ex.Message);
throw ex;
}
InfoList = ContactBiz.Query(new ContactInfo());
Bind(InfoList);
} //行编辑
protected void gvCenterMangerment_RowEditing(object sender, GridViewEditEventArgs e)
{
try
{
gvCenterMangerment.EditIndex = e.NewEditIndex;
InfoList = ContactBiz.Query(new ContactInfo());
Bind(InfoList);
}
catch (Exception ex)
{
Logger.Write("中心管理行编辑失败" + ex.Message);
throw ex;
} } //行编辑修改数据
protected void btnModify_Click(object sender, GridViewUpdateEventArgs e)
{
int index = e.RowIndex;
ContactInfo contactInfo = new ContactInfo();
// System.Text.RegularExpressions.Regex.IsMatch("","");
//Regex.IsMatch(contactInfo.PhoneNumber,"^1[3456789]\\d{9}$|^0\\d{2,3}-?\\d{7,8}$");
contactInfo.CenterName = ((Label)gvCenterMangerment.Rows[index].Cells[].FindControl("Label2")).Text;
contactInfo.Name = ((TextBox)gvCenterMangerment.Rows[index].Cells[].FindControl("TextBox3")).Text;
if (contactInfo.Name == "")
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), System.DateTime.Now.Ticks.ToString(), "alert('*联系人不能为空*');", true);
return;
}
contactInfo.PhoneNumber = ((TextBox)gvCenterMangerment.Rows[index].Cells[].FindControl("TextBox4")).Text;
if (contactInfo.PhoneNumber == "")
{
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), System.DateTime.Now.Ticks.ToString(), "alert('*联系方式不能为空*');", true);
return;
}
else
{
if (!Regex.IsMatch(contactInfo.PhoneNumber, "^1[3456789]\\d{9}$|^0\\d{2,3}-?\\d{7,8}$"))
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), System.DateTime.Now.Ticks.ToString(), "alert('*联系方式格式错误*');", true);
return;
}
}
contactInfo.Address = ((TextBox)gvCenterMangerment.Rows[index].Cells[].FindControl("TextBox5")).Text;
if (contactInfo.Address == "")
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), System.DateTime.Now.Ticks.ToString(), "alert('*地址不能为空*');", true);
return;
}
ContactBiz.Update(contactInfo);
gvCenterMangerment.EditIndex = -;
InfoList = ContactBiz.Query(new ContactInfo());
Bind(InfoList);
errorWarning.Text = "";
} //行编辑取消
protected void gvCenterMangerment_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvCenterMangerment.EditIndex = -;
InfoList = ContactBiz.Query(new ContactInfo());
Bind(InfoList);
}
三、
1)html代码
<asp:ButtonField ButtonType="Button" CommandName="observe" HeaderText="操作" Text="查看" />
2)
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "observe")
{
try
{
int index = Convert.ToInt32(e.CommandArgument);
string LiencePlateNumber = ((Label)GridView1.Rows[index].Cells[].FindControl("label2")).Text.ToString().Trim();
string CreateTime = ((Label)GridView1.Rows[index].Cells[].FindControl("label8")).Text.ToString().Trim();
string url = "../Management/ExDetails.html?LiencePlateNumber=" + LiencePlateNumber + "&CreateTime=" + CreateTime;
string js = "window.open(\"../Management/ExDetails.html?LiencePlateNumber=" + LiencePlateNumber + "&CreateTime=" + CreateTime + "\",\"_blank\")";
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), System.DateTime.Now.Ticks.ToString(), js, true);
}
catch (Exception ex)
{
Logger.Write("后台查看异常详情失败,原因:" + ex.Message);
throw ex;
} }
}
GridView按钮事件的更多相关文章
- asp.net中父子页面通过gridview中的按钮事件进行回传值的问题
这两天写BS程序,遇到父子页面传值的问题,以前没写过web系统,用了几天时间才将问题解决,总结下记录下来: 问题描述: 父页面A中有一个gridview,每行6个列,有5列中均有一个按钮,单击按钮,会 ...
- ngui中 代码调用按钮事件(后来改成了按钮绑定键盘..)
ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 ...
- MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱
网站模板页有个登陆的退出按钮,当点击时跳转到登陆页面. <button onclick="logout()" >退出</button> $("#l ...
- Java Hello World例子和添加按钮事件与功能
新建android工程,然后默认“下一步”即可完成创建: 2.添加Button 3.在src的MainActivity.java添加以下红色代码 import android.support.v7.a ...
- JS调用水晶报表打印翻页按钮事件
默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...
- ASP.NET多个Button的页面,回车执行按钮事件(转)
主要有两种实现方法分别是:JavaScript的方法与Panel的方法 一.JavaScript的方法 ①单输入框(文本框)单按钮的实现方法 以下功能实现:在输入框中输入内容之后,按回车键就执行按钮事 ...
- asp.net中用回车代替按钮事件
第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head> <title>测试绑定enter</title ...
- Android开发系列之按钮事件的4种写法
经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity ...
- Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题
之前写过关于HorizontalScrollView滑动和按钮事件触发问题,但是不能所有的情况,最近几天一直在想这个问题,今天有一个比较好的解决思路,最终应用在项目里面效果也很好,首先说明一下功能: ...
随机推荐
- placehold.it-在线图片生成器(转载)
做网站的时候 如果 有的产品等客户没有上传图片,可以用这个网站生成的图片 并配以文字进行图片的占位 以免造成页面的空挡或者页面错位等 原文地址:http://www.cnblogs.com/xumen ...
- 转:Struts2<s:iterator value="" var="lst">中var的使用和一些标签的使用体会
比如<s:iterator value="pmOperateList" var="lst"> <!-- iterator加上var 等价于重新 ...
- windows下捕获dump之守护进程
一两个月前为产品写了一个独立的exe,由于产品使用的捕获dump是一个现成的进程外exe,如果以资源的方式集成它容易出现安全警告,由于时间关系没有寻求新的解决方法,还是遵循旧方案,不捕获dump. 最 ...
- java之io之file类的常用操作
java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOE ...
- HDU 4050 wolf5x 概率dp 难度:1
http://acm.hdu.edu.cn/showproblem.php?pid=4050 题意: 现在主角站在0处,需要到达大于n的位置 主角要进入的格子有三种状态: 0. 不能进入 1. 能进入 ...
- 二模 (7) day2
第一题: 题目大意:多重背包. 解题过程: 1.二进制拆分.最慢的点0.5s. 2.单调队列优化会更快,不过我不会.. 第二题: 题目描述:给定一个n×m的矩阵,记录左上角为(1,1),右下角为(n, ...
- nginx日志切割
脚本完成后将其存入 Nginx 安装目录的 sbin 中,取名为 cut-log.sh,之后使用 crontab -e 新增一个定时任务,在其中增加执行这个脚本: #!/bin/bash ## 零点执 ...
- Matlab基础
基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...
- 倍增 LCA
以NOIP2013提高组day1 最后一道题为例来学的倍增和lca.其实这套题早就做过了,倍增和lca也学过,只不过当时没有理解清楚,所以今天再次学了一遍,虽然没有时间编程序了,但是先把思路和做法在这 ...
- POJ 1741 树的点分治
题目大意: 树上找到有多少条路径的边权值和>=k 这里在树上进行点分治,需要找到重心保证自己的不会出现过于长的链来降低复杂度 #include <cstdio> #include & ...