利用Ajax技术写一个迷你留言板WEB控件
2006-12-22 15:00
417 查看
初学Ajax不久,自己写个小东西,以作学习日记
留言板图片如下:
样例地址:http://www.8dao.net/miniguest/
首先,这里用的是Access数据库,便于移动。
数据库很简单,表Guest,字段有ID,Name,Content
要实现Ajax,利用asp.net ajax 1.0 bate是很方便的,在http://ajax.asp.net可以下载到。
安装好后打开VS2005,新建一个ASP.net AJAX Enabled Web Site项目
在里面添加一个WEB用户控件 MiniGB.ascx,控件代码如下:
<%@ Control Language="C#" ClassName="MiniGB" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">
private OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="+System.Web.HttpContext.Current.Server.MapPath("guest.mdb"));
private string dname = "游客";
public string Dname
{
get
{
return dname;
}
set
{
dname = value;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() != "")
{
OleDbCommand comm = new OleDbCommand("insert into guest(name,content)values('"+dname+"','" + TextBox1.Text.Trim() + "')", conn);
comm.ExecuteNonQuery();
listupdate();
TextBox1.Text = "";
}
}
private void listupdate()
{
OleDbDataAdapter da = new OleDbDataAdapter("select top 5 * from guest order by id desc", conn);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
listupdate();
}
</script>
<style>
.Gtitle
{
width:200px;
background-color:#464646;
color:#FFFFFF;
font-size:14px;
height:20px;
padding: 3px 0 0 10px;
font-weight:bold;
border-style:solid;
border-top-width:1px;
border-bottom-width:0px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
}
.Gbody
{
width:200px;
border-style:solid;
border-top-width:0px;
border-bottom-width:0px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
padding:3px 5px 3px 5px;
}
.Gend
{
width:200px;
border-style:solid;
border-top-width:0px;
border-bottom-width:1px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
padding:3px 5px 3px 5px;
}
.Gname
{
width:190px;
font-size:12px;
color:blue;
}
.Gcontent
{
width:190px;
word-break:break-all;
color:#444444;
font-size:12px;
padding: 3px 0 3px 0;
border-style:dotted;
border-top-width:0px;
border-bottom-width:1px;
border-left-width:0px;
border-right-width:0px;
border-color:#BBBBBB;
}
</style>
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="Gtitle"><asp:Label ID="Label1" runat="server" Text="留言板"></asp:Label></div>
<div class="Gbody"><asp:DataList ID="DataList1" runat="server" >
<ItemTemplate>
<div class="Gname"><%# DataBinder.Eval(Container.DataItem, "name") %> 说:</div><div class="Gcontent"><%# DataBinder.Eval(Container.DataItem, "content") %></div>
</ItemTemplate>
</asp:DataList></div>
<div class="Gend"><asp:TextBox ID="TextBox1" runat="server" Width="150px" />
<asp:Button ID="Button1" runat="server" Text="留言" OnClick="Button1_Click" /></div>
</ContentTemplate>
</asp:UpdatePanel>
这样就可以完成这个控件了,然后就是在页面上调用这个控件了,调用这个控件的页面必须有一个ScriptManager控件才能使用。
此控件修改一下可以做为文章评论控件用,加上个:更多。。。,按文章ID显示评论就可以用了。
初学Ajax,做一应用,做为学习日志。还望多指教。
http://www.cnblogs.com/aowind/archive/2006/11/21/567157.html
留言板图片如下:
样例地址:http://www.8dao.net/miniguest/
首先,这里用的是Access数据库,便于移动。
数据库很简单,表Guest,字段有ID,Name,Content
要实现Ajax,利用asp.net ajax 1.0 bate是很方便的,在http://ajax.asp.net可以下载到。
安装好后打开VS2005,新建一个ASP.net AJAX Enabled Web Site项目
在里面添加一个WEB用户控件 MiniGB.ascx,控件代码如下:
<%@ Control Language="C#" ClassName="MiniGB" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">
private OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source="+System.Web.HttpContext.Current.Server.MapPath("guest.mdb"));
private string dname = "游客";
public string Dname
{
get
{
return dname;
}
set
{
dname = value;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() != "")
{
OleDbCommand comm = new OleDbCommand("insert into guest(name,content)values('"+dname+"','" + TextBox1.Text.Trim() + "')", conn);
comm.ExecuteNonQuery();
listupdate();
TextBox1.Text = "";
}
}
private void listupdate()
{
OleDbDataAdapter da = new OleDbDataAdapter("select top 5 * from guest order by id desc", conn);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
listupdate();
}
</script>
<style>
.Gtitle
{
width:200px;
background-color:#464646;
color:#FFFFFF;
font-size:14px;
height:20px;
padding: 3px 0 0 10px;
font-weight:bold;
border-style:solid;
border-top-width:1px;
border-bottom-width:0px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
}
.Gbody
{
width:200px;
border-style:solid;
border-top-width:0px;
border-bottom-width:0px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
padding:3px 5px 3px 5px;
}
.Gend
{
width:200px;
border-style:solid;
border-top-width:0px;
border-bottom-width:1px;
border-left-width:1px;
border-right-width:1px;
border-color:#BBBBBB;
padding:3px 5px 3px 5px;
}
.Gname
{
width:190px;
font-size:12px;
color:blue;
}
.Gcontent
{
width:190px;
word-break:break-all;
color:#444444;
font-size:12px;
padding: 3px 0 3px 0;
border-style:dotted;
border-top-width:0px;
border-bottom-width:1px;
border-left-width:0px;
border-right-width:0px;
border-color:#BBBBBB;
}
</style>
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="Gtitle"><asp:Label ID="Label1" runat="server" Text="留言板"></asp:Label></div>
<div class="Gbody"><asp:DataList ID="DataList1" runat="server" >
<ItemTemplate>
<div class="Gname"><%# DataBinder.Eval(Container.DataItem, "name") %> 说:</div><div class="Gcontent"><%# DataBinder.Eval(Container.DataItem, "content") %></div>
</ItemTemplate>
</asp:DataList></div>
<div class="Gend"><asp:TextBox ID="TextBox1" runat="server" Width="150px" />
<asp:Button ID="Button1" runat="server" Text="留言" OnClick="Button1_Click" /></div>
</ContentTemplate>
</asp:UpdatePanel>
这样就可以完成这个控件了,然后就是在页面上调用这个控件了,调用这个控件的页面必须有一个ScriptManager控件才能使用。
此控件修改一下可以做为文章评论控件用,加上个:更多。。。,按文章ID显示评论就可以用了。
初学Ajax,做一应用,做为学习日志。还望多指教。
http://www.cnblogs.com/aowind/archive/2006/11/21/567157.html
相关文章推荐
- 利用Ajax技术写一个迷你留言板WEB控件
- 利用Ajax技术写一个迷你留言板WEB控件
- ArcgisServer9.3 中矩形选择查询的实现(利用Ext控件的AJAX技术)
- 利用ajax技术验证数据是否存在的一个简单例子
- 一个简单的利用微软ajax技术开发的HTMLEditer
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- [今日技术学习]利用ASP.NET 2.0创建自定义Web控件
- ASP.NET自动检测用户名是否注册(利用微软AJAX控件技术)
- Web应用程序开发,基于Ajax技术的JavaScript树形控件
- 如何利用Microsoft Web Browser控件在VC中创建一个属于自己的浏览器
- 一个PDF合并操作实现类,利用iTextSharp控件实现(http://www.diybl.com/course/4_webprogram/asp.net/asp_netxl/2008109/149644.html)
- ASP.NET自动检测用户名是否注册(利用微软AJAX控件技术)
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?
- 一个利用客户端空间存储树形导航栏信息,从而实现ajax技术动态导航的雏形
- 利用HTML5与jQuery技术创建一个简单的自动表单完成
- iOS程序员利用分页和模糊查询技术实现一个App接口
- 一个简单的例子看明白如何利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- JavaEE Web开发之Ajax技术
- 利用ASP.NET 2.0创建自定义Web控件