随笔 - 50  文章 - 6  评论 - 29 
我的一点点思路,不晓得怎么样~~~呵呵,反正效果是实现了~~~
先说说思路,前台还是用datalist控件把数据从后台读出来,现在关键是怎么样把新的留言加到datalist中并且不刷新页面,看了一些其他人的做法就是把所有的数据重新以异步的方式读到前台,数据量大的话觉得这样并不好,我的想法是不用重新读取所有数据但还能把新的留言呈现的前台页面。
当点击确认留言的时候,利用javascript创建一些HTML代码,把留言的内容呈现在前台,只要控制好样式,和原来datalist里面留言的样式一样就ok了,其他那些数据现在并没有在datalist中!!!那现在数据怎样传到后台数据库呢?呵呵,当然是利用javascript调用webserver了!!!这样就避免了异步读取所有的数据到前台,只需要把新留言的数据异步的方式传到数据库就ok了~~~
看看效果,点击提交按钮以后:

上图“原来的数据”那行留言是页面载入的时候在datalist控件中呈现的,而新添的数据那行是点击提交留言之后利用javascript创建的一些HTML控件呈现的,并没有在datalist控件中!!!只是控制好样式和datalist里面的一样就行了~~~,点击提交按钮的同时数据已经通过javascript调用webserver传到数据库里面了,
手动的刷新页面或下次打开页面的时候的效果图:

这次新添加的数据是在datalist中呈现的

前台代码:
Code
javascript代码;
Code

websever代码:
using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Web.Configuration;

/// <summary>
///WebService 的摘要说明
/// </summary>

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

    
public WebService () {

        
//如果使用设计的组件,请取消注释以下行 
        
//InitializeComponent(); 
    }


    [WebMethod]
    
public void addComment(string title,string content,string name) 
    
{
        
using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Personal"].ConnectionString))
        
{
            SqlCommand comm 
= new SqlCommand("INSERT INTO [tb_comment] ([title],[content],[time],[name]) VALUES ('" +title+ "','" +content+ "','" + DateTime.Now.ToString() + "','" +name+ "')", conn);
            conn.Open();
            comm.ExecuteNonQuery();
        }

    }

    
}



源程序下载:/Files/dushouke/ajaxcomment.rar
posted on 2008-06-14 16:03 Shouke_du 阅读(230) 评论(3)  编辑 收藏 网摘

  回复  引用  查看    
2008-07-22 08:51 | Shouke_du      

  回复  引用    
2008-08-15 16:03 | yllmjw [未注册用户]
我想问一下能不能在websever中对控件进行绑定???
  回复  引用  查看    
2008-08-15 18:17 | Shouke_du      
@yllmjw
不可以吧,至少我看到的介绍asp.net ajax的不可以,也没有见其他ajax框架可以绑定控件的。我觉得使用ajax只是使用它的异步返回数据而已,然后用JavaScript处理得到的数据表示在前台。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-15 14:26 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:


相关搜索:
AJAX & javascript

相关链接: