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