高手请进:无刷新显示数据 页面上有两个文本框一个添加按钮,然后还有一个datalist,点击按钮时的事件是用的异步效果:点击按钮时把两个文本框的数据显示到datalist,不要闪屏的那种的谢谢大家,祝大家中秋愉快 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实你拿到那个文本框的内容之后放到下拉列表中 var xmlHttp = null; //判断浏览器 function createXMLHttpRequest() { if (window.XMLHttpRequest) { //Firefox,Netscape,Chrome,Safari等浏览器 xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { //IE浏览器 try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //创建xmlHttp对象 } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//创建xmlHttp对象 }catch(e){} } } } function btnAddMessage() { var nickName = document.getElementById("nickName").value; //获取文本框内容 createXMLHttpRequest(); xmlHttp.open("get", "AddMessagePage.aspx?nickName=" + escape(nickName); xmlHttp.send(); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 在这里 var getData = xmlHttp.responseText; //从那边拿到的数据 } } } 楼主,ajax提一下,这个看来不是楼主的强项,可以学习,jquery中有这个的封装,简单再看asp.net本身自代scriptmanager用法,可以网上找一下 <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnChange" /> </Triggers> </asp:UpdatePanel>大致这样,简单,不用了解太多知识 ajax控件就行,直接拖2个控件什么代码都不用写 C#控件dataGridView1代码如下:private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e){//获取dataGridView1 行内信息textBox_New.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();}这样就不闪屏的给分吧 直接使用UpdataPanel就可以了,很方便的 1.最简单的就是使用updatepanel方式,缺点是性能不怎么好,优点是简单方便,几乎就是asp.net开发2.ajax实现,自己写js,可以用jquery updatepanel 或jq 在工具箱里AjAx Extensions里面找ScriptManagerza这个控件托到页面上,在托一个控件UpdatePanel把你想要刷新的控件都放到UpdatePanel这个里面就可以实现了。。 Ajax 拖控件就OK了 你的功能比较简单 复杂的要写代码实现 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:Timer ID="Timer1" runat="server" Interval="2000" OnTick="Timer1_Tick"> </asp:Timer> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> 《内容》 </ContentTemplate> </asp:UpdatePanel> 对了 按钮不要放在UpdatePanel里面 扔在外面 UpdatePanel简单方便,如果不想要这种控件的就用ajax的异步刷新代码 此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具 aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax1.aspx.cs" Inherits="_Default" %><!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 src="js/jquery-1.6.1.js" type="text/javascript"></script> <script src="js/Ajax1.js" type="text/javascript"></script></head><body> <form id="form1" runat="server"> <div> <input type="button" id="btnsear" value="查询" onclick="Validation()" /> </div> <div id="content"> </div> </form></body></html>js:/// <reference name="MicrosoftAjax.js"/>var xmlhttp;function Validation() { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("name", "Ajax1.aspx?uname=1"); xmlhttp.onreadystatechange = OnMessageBack; xmlhttp.send(null);}function OnMessageBack() { if (xmlhttp.readystate == 4) { var re = xmlhttp.responsetext; var index = re.indexOf("<html"); re = re.substring(0, index); document.getElementById("content").innerHTML = re; //document.write(xmlhttp.responsetext); //document.getElementById("content").innerHTML = xmlhttp.responsetext; //$("#content").html(xmlhttp.responsetext); }}cs:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;using System.Text;public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadAll(); } } public void LoadAll() { string name = Request.QueryString["uname"]; if (name != null) { StringBuilder sb = new StringBuilder(); sb.Append("<table border=1><tr><td>编号</td><th>标题</th><th>文件名</th><th>编辑</th></tr>"); string sql = "select top 5 * from db_doc";// where did= '"+name+"'"; SqlConnection conn = new SqlConnection("server=.;database=doc;uid=sa;pwd=chang"); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader = null; conn.Open(); reader = cmd.ExecuteReader(); while (reader.Read()) { sb.Append("<tr>"); sb.Append("<td>"); sb.Append(reader[0]); sb.Append("</td>"); sb.Append("<td>"); sb.Append(reader[1]); sb.Append("</td>"); sb.Append("<td>"); sb.Append(reader[2]); sb.Append("</td>"); sb.Append("<td>"); sb.Append("<a href='javascript:' onclick='Validation'>删除</a>"); sb.Append("</td>"); sb.Append("</tr>"); } sb.Append("</table>"); Response.Write(sb.ToString()); conn.Close(); } }}需要jquery-1.6.1.js -0- 如果没有强行要求用一个scriptManger+updatepanel 一个数据库插数据的问题 如何更改图片路径 关于ajax调用webservice的问题 数据访问公共类中若有GridView或者DataGrid时报错该如何处理? 怎么回事呀? 发布后,有的网页需要输入用户名,密码和域名 窗口B是页面A的弹出窗口,从B取得值后将取得的值返回给页面A的textbox,此时页面A自动刷新一遍,如何才能让此时的页面A不刷新?? __doPostBack问题 水晶报表导出问题 如何关闭一个webform? 求一正则。default([0-9]+)-(\w+)-(\w+).html 如何使TextBox控件透明?(每逢佳节倍思亲,祝大家中秋节快乐)
//判断浏览器
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
//Firefox,Netscape,Chrome,Safari等浏览器
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { //IE浏览器
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //创建xmlHttp对象
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//创建xmlHttp对象
}catch(e){}
}
}
}
function btnAddMessage() {
var nickName = document.getElementById("nickName").value; //获取文本框内容
createXMLHttpRequest();
xmlHttp.open("get", "AddMessagePage.aspx?nickName=" + escape(nickName);
xmlHttp.send();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
在这里
var getData = xmlHttp.responseText; //从那边拿到的数据
}
} }
再看asp.net本身自代scriptmanager用法,可以网上找一下 <form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnChange" />
</Triggers>
</asp:UpdatePanel>
大致这样,简单,不用了解太多知识
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//获取dataGridView1 行内信息
textBox_New.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
}
这样就不闪屏的
给分吧
2.ajax实现,自己写js,可以用jquery
或
jq
</asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="2000" OnTick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
《内容》
</ContentTemplate>
</asp:UpdatePanel>
此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax1.aspx.cs" Inherits="_Default" %><!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 src="js/jquery-1.6.1.js" type="text/javascript"></script>
<script src="js/Ajax1.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" id="btnsear" value="查询" onclick="Validation()" />
</div>
<div id="content">
</div>
</form>
</body>
</html>js:
/// <reference name="MicrosoftAjax.js"/>
var xmlhttp;function Validation() {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("name", "Ajax1.aspx?uname=1");
xmlhttp.onreadystatechange = OnMessageBack;
xmlhttp.send(null);
}function OnMessageBack() {
if (xmlhttp.readystate == 4) {
var re = xmlhttp.responsetext;
var index = re.indexOf("<html");
re = re.substring(0, index);
document.getElementById("content").innerHTML = re;
//document.write(xmlhttp.responsetext);
//document.getElementById("content").innerHTML = xmlhttp.responsetext;
//$("#content").html(xmlhttp.responsetext);
}}cs:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Text;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadAll();
}
} public void LoadAll()
{
string name = Request.QueryString["uname"];
if (name != null)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table border=1><tr><td>编号</td><th>标题</th><th>文件名</th><th>编辑</th></tr>");
string sql = "select top 5 * from db_doc";// where did= '"+name+"'";
SqlConnection conn = new SqlConnection("server=.;database=doc;uid=sa;pwd=chang");
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = null;
conn.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append(reader[0]);
sb.Append("</td>");
sb.Append("<td>");
sb.Append(reader[1]);
sb.Append("</td>");
sb.Append("<td>");
sb.Append(reader[2]);
sb.Append("</td>");
sb.Append("<td>");
sb.Append("<a href='javascript:' onclick='Validation'>删除</a>");
sb.Append("</td>");
sb.Append("</tr>");
}
sb.Append("</table>");
Response.Write(sb.ToString());
conn.Close();
}
}
}
需要jquery-1.6.1.js