.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);
}
}