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滑动和按钮事件触发问题,但是不能所有的情况,最近几天一直在想这个问题,今天有一个比较好的解决思路,最终应用在项目里面效果也很好,首先说明一下功能: ...
随机推荐
- nyoj-746
整数划分(四) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近 ...
- 两段超简单jquery代码解决iframe自适应高度问题(不用判断浏览器高度)
这里介绍两个超级简单的方法,不用写什么判断浏览器高度.宽度啥的.下面的两种方法自选其一就行了.一个是放在和iframe同页面的,一个是放在test.html页面的.注意别放错了地方.iframe的代码 ...
- DWR框架简单应用
各种Dwr简介不需要多说,知道是实现局部刷新就差不多了,至于实现原理,慢慢参透吧,一下说明怎么使用DWR 首先建一个web工程,然后添加如下jar包:
- 【源码下载】分享一个支持自安装自卸载的Windows服务
NetworkComms网络通信框架序言 这个程序来自 www.codeproject.com 具体的出处就忘了 服务器端的程序,我一般采用在windows服务中调用打开的方式,这样既能看到界面,又 ...
- apache日志轮转
apache默认的日志配置为: ErrorLog "logs/error_log" CustomLog "logs/access_log" co ...
- CAP Confusion: Problems with ‘partition tolerance’
by Henry Robinson, April 26, 2010 The 'CAP' theorem is a hot topic in the design of distributed data ...
- 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器,用于跨平台编程
一.局域网内的 Linux 服务器上操作步骤: 1.安装samba(CentOS Linux): yum install samba system-config-samba samba-client ...
- 如何在 CentOS 中设置 NTP 服务器
网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...
- 原生JS 添加或者删除某个class
$S.addHandler($S.getId(fav[i]),'mouseover',function(){ this.className += " " ...
- bzoj 1816: [Cqoi2010]扑克牌
#include<cstdio> #include<iostream> using namespace std; ],ans; bool pan(int x) { int a1 ...