如题,要求是页面的一个文本框里写入关键字,点查询按钮后,页面不刷新就把查询结果显示在本页面的一个datalist里面。
求解决方法。
求解决方法。
解决方案 »
- 如何阻止iframe弹出新窗口?
- 视图关联太多,程序超时,求优化!
- 浏览器后退,page_load未触发,但貌似却执行了里面的一部分代码
- 触发gridview 的SelectedIndexChanged事件报错。。
- 如何实现跨站点登陆?
- 如何实现js里的String.fromCharCode(v[i])功能
- 过2天去找asp.net工作,没工作经验,讨论在学历底(自学的)的情况下如何找工作,该如何找到第一份工作,分享一下经验
- ASP.NET下载文件的问题,在线等高手帮忙~~
- 刚开始学,请教一下,找不到类型或命名空间名称“
- 动网新闻2。4。net显示的问题?
- vs2008能用vs2005编写的网站吗?
- 请问如何修正UserId不是从1开始或者不连续的情况下。也能正常排序
要无刷新使用ajax阿
http://www.bikeroll.cn/post/2008/05/start-atlas.aspx
1.ajax(一种方法是用客户端来写!这个麻烦,另一种是加一个updatapanel这个很方便就可以实现你要的功能!你可以简单的查一下这个控件的用法就可以完成了!)
2.用框架+js
<asp:UpdatePanel ID="UpdatePanel1" runat="server">此处添加你的要求实现的无刷新的控件代码</asp:UpdatePanel>
就可以了!
肯定可以,楼主最好自己装了微软的Ajax组件后自己试试,并不复杂,如果还不行再上来问
问是否有解决方法。
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function CallServer2(obj)
{
context = gridspan;
context.innerHTML = "<IMG SRC='images/pie.gif' />数据加载中...";
arg = "ServerMethod2|" + obj.value;
<%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData2", "context")%>;
}
function ReceiveServerData2(result, context)
{
context.innerHTML = result;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Demo3:下拉列表框和gridview绑定数据</h1><br />
<%-- <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ connectionStrings:NorthWind %>"
SelectCommand="select customerid, companyname, country from customers where country=@Country">
<SelectParameters>
<asp:ControlParameter Name="Country" ControlID="ddlCountry" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>--%>
<div>
<asp:DropDownList ID="ddlCountry" runat="server" DataTextField="Country" DataValueField="Country">
</asp:DropDownList>
</div>
<br />
<span id="gridspan">
<asp:GridView ID="gvCountry" runat="server"><%--DataSourceID="SqlDataSource2"--%>
</asp:GridView>
</span>
</div>
</form>
</body>
</html>
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Globalization;
using northwindTableAdapters;public partial class Default2 : System.Web.UI.Page, ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
loadDDLCountry();
loadGVCountry(ddlCountry.SelectedValue);
ddlCountry.Attributes.Add("onchange", "CallServer2(this)");
}
} /// <summary>
/// 加载国家(下拉列表)
/// </summary>
private void loadDDLCountry()
{
CustomersTableAdapter ctta = new CustomersTableAdapter();
ddlCountry.DataSource = ctta.GetData();
ddlCountry.DataBind();
} /// <summary>
/// 邦定gridview
/// </summary>
/// <param name="str"></param>
private void loadGVCountry(string str)
{
Customers1TableAdapter ctta = new Customers1TableAdapter();
gvCountry.DataSource = ctta.GetData(str);
gvCountry.DataBind();
} private string serverReturn; public string GetCallbackResult()
{
//为便于查看加载效果,添加延时
System.Threading.Thread.Sleep(1000); string[] parts = serverReturn.Split('|');
//根据传递的方法名进行调用,并传递相应的参数,目前只支持一个参数
return (string)GetType().GetMethod(parts[0]).Invoke(this, new object[] { parts[1] });
} public void RaiseCallbackEvent(string eventArgument)
{
serverReturn = eventArgument;
} //根据从客户端传来的值,对GridView的内容进行更新,并将更新后的GridView的html返回
public string ServerMethod2(string arg)
{
ddlCountry.SelectedValue = arg;
//gvCountry.DataBind(); loadGVCountry(arg);
return RenderControl(gvCountry);
} private string RenderControl(Control control)
{
StringWriter writer1 = new StringWriter(CultureInfo.InvariantCulture);
HtmlTextWriter writer2 = new HtmlTextWriter(writer1); control.RenderControl(writer2);
writer2.Flush();
writer2.Close(); return writer1.ToString();
}
}