欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net中对象失去焦点时自动提交数据 V2

程序员文章站 2024-03-05 13:51:24
.aspx页只拉一个textbox控件: 复制代码 代码如下: <%@ page language="c#" autoeventwireup="true" codef...
.aspx页只拉一个textbox控件:
复制代码 代码如下:

<%@ page language="c#" autoeventwireup="true" codefile="default.aspx.cs" inherits="_default" %>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:textbox id="textbox1" runat="server"></asp:textbox>
</form>
</body>
</html>

.aspx.cs页中,首选在page_init事件,为textbox注册onblur事件:
复制代码 代码如下:

protected void page_init(object sender, eventargs e)
{
this.textbox1.attributes.add("onblur", page.clientscript.getpostbackeventreference(this.textbox1, "onblur"));
}

写一个onblue事件,将替代linkbutton的click事件:
复制代码 代码如下:

private void onblurhandle(string ctrl, string args)
{
if (ctrl == this.textbox1.uniqueid && args == "onblur")
{
//这里写提交到数据库中
}
}

然后在网页的page_load事件,判断是否ispostback。
复制代码 代码如下:

protected void page_load(object sender, eventargs e)
{
if (ispostback)
{
var ctrl = request.params[page.posteventsourceid];
var args = request.params[page.posteventargumentid];
onblurhandle(ctrl, args);
}
}