http://hi.baidu.com/ichaofan/item/1fa1ffeffee9c72c5a2d64ba
Repeater控件学习之查询(回车键触发Button按钮事件)
Repeater控件学习之查询(回车键触发Button按钮事件)
1.新建一个表student,有sno,sname,age,sex,email等字段
2.向上述表中添加信息
3.前台设计 详细代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="select.aspx.cs" Inherits="WebTest.select" %>
<!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>
<script language="javascript" type="text/javascript">
function checkinput() //在客户端检验输入是否为空,不提交给服务器
{
if(form1.tbsno.value=="")
{
alert("不能为空");
return false;
}
else
return true;
}
</script>
</head>
<body style="text-align:center;">
<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
function SubmitKeyClick(button) //文本框输入完成按回车键触发button按钮
{
if(event.keyCode==13)
{
event.keyCode=9;
event.returnValue=false;
document.all[button].click();
}
}
</script>
<div>
<table width="400px">
<tr>
<td colspan="3" style="font-size:24pt; background-color:Red;">查找指定学生的信息</td>
</tr>
<tr>
<td></td>
<td>学号:<asp:TextBox ID="tbsno" runat="server"></asp:TextBox> <asp:Button ID="bu_ok" OnClientClick="return checkinput()" runat="server" Text="查找" OnClick="bu_ok_Click" /></td>
<td></td>
</tr>
<tr>
<td colspan="3">
<asp:Repeater ID="rep1" runat="server">
<HeaderTemplate>
<table>
<tr style="background-color:Gray;">
<td style="width:20%;">学号</td>
<td style="width:20%;">姓名</td>
<td style="width:20%;">性别</td>
<td style="width:20%;">年龄</td>
<td style="width:20%;" >邮箱</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate> //绑定Repeater控件
<table>
<tr>
<td><%#DataBinder.Eval(Container.DataItem,"sno") %></td>
<td><%#DataBinder.Eval(Container.DataItem,"sname") %></td>
<td><%#DataBinder.Eval(Container.DataItem,"sex") %></td>
<td><%#DataBinder.Eval(Container.DataItem,"age") %></td>
<td><%#DataBinder.Eval(Container.DataItem,"email") %></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
4.后台设计(根据文本框输入的学号查询数据库中的内容并绑定在Repeater控件中),详细后台代码如下
protected void Page_Load(object sender,EventArgs e)
{
this.tbsno.Attributes.Add("onkeydown", "SubmitKeyClick('bu_ok');");//回车触发按钮事件
}
protected void bu_ok_Click(object sender, System.EventArgs e)
{
if (this.tbsno.Text == "")
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('不能为空')</script>");
}
else
{
SqlConnection con = new SqlConnection(Connection.connection());
con.Open();
SqlCommand com = new SqlCommand("select * from student where sno='" + this.tbsno.Text.ToString() + "'", con);
SqlDataReader dr = com.ExecuteReader();
if (!dr.HasRows)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('没有记录,请重新输入')</script>");
}
else
{
this.rep1.DataSource = dr;
this.rep1.DataBind();
con.Close();
}
}
}