添加数据后不刷新页面把刚刚添加到数据库里的信息显示在本页面上
$.post("地址",{post数据},function(data){
//data 服务器返回数据
});
能把代码更完善些么,你打的这个我了解,具体的我太不清楚,我在追加50豆,谢谢
@我在大连天气晴: ...这已经很清楚了啊
public ActionResult SaveName(string name) { try { xxx.SaveName(name); return Json(new {state = true, data=name}); } catch (Exception e) { return Json(new {state = false, msg = e.Message}); } }
$.post("xxx/SaveName",{name:"tom"},function(data){ //$.post是jquery的post异步提交,还有$.get $.ajax if(data.state) { //data.data随你咋个加 }else{ alert(data.msg) } });
ajax实现。
有代码么,action里用还用定义什么条件么?还是光在Jsp页面上就可以实现了,我追加豆
@我在大连天气晴: 用ajax提交数据, 你页面不会刷新, 值还在控件里。
jquery.ajax()
能把代码发出来么,谢谢
@我在大连天气晴:
$.ajax({ url:"xxx方法", dataType:"json", data:{Id:$("#id").val(),Name:$("#name").val()},//data里面的ID和Name 是你提交给后台的参数 C#后台可以通过Request["Id"],Request["name"]获取到传过来的ID和name的值 success:function(result){ //这里的result 是你调XXX方法,XXX方法return 的值(比如XXX方法 return 字符串"123",这时的result="123",如果后台返回的json对象,可以通过result.Id或者result.Name得到。)得到后台返回值后,就可以通过dom更改页面元素值了,这就是局部刷新: $("#label").text(result.Name) } });
那你直接把你添加的信息通过js直接插入到本页不就行了?
js(jQuery)将新加的内容,添加到界面上。
updatapanel
我是来泼冷水的,不建议这样设计,很多问题。
有种写法 你可以先ajax方式提交到数据库,然后通过js方式获取页面上的数据动态的拼接到你上面的列表中,你下次再访问该页面再去从数据库中读取真实的列表,这种方式还少访问一次数据库