GridView(或者Datalist或Repeter) 某列 无刷新能实现吗在GridView打开窗口操作后返回使GridView某列有更新的模板列无刷新更新,不是整个GridView刷新只是局部一列刷新,不知道如何实现,有没有人看过类似网站报网址,或告诉我如何实现,想了好久了,高手们帮帮忙
解决方案 »
- asp.net 内容页修改母版页控件的内容
- 请教 Bltookit 的使用
- 再来一个:如何在updatePanel中使用上传空件,好像是不能异步不能用。只能用全局的。请前辈指点:在线等你们,前辈们
- 多条件但字段不固定如何查询,请高手帮忙。
- image字段如何在三层结构中传递
- 求DATAGRID 中第4列的总和
- DataGrid 多行修给,更新,删除(源代码)
- 紧急求救!!! asp.net后段代码无法设置dropdownlist某一项的样式!!!!是不是.net的bug?
- 十万火急,急求活动目录资料
- 读取网页表格数据
- 在web页面中嵌入mediaplayer播放器,怎么才能让播放器顺序播放一些文件呢?
- 菜鸟提问,欢迎解答:不包含适合于入口点的静态“Main”方法
你放好多个UPDATEPANEL就是了,设置自动刷新
不过我更偏向于选择AJAX方式,使用HttpRequest把该列数据做为参数传递
实现无刷新
不过我更偏向于选择AJAX方式,使用HttpRequest把该列数据做为参数传递
实现无刷新ajax,或者更简单的办法 iframe都可以,不过ajax可以用一些现成的控件,JQUERY是个不错的选择有没有看过类似的网站如你们说的方法,就网址也可以
如果不要求严谨的局部刷新处理逻辑,可以在异步提交请求的同时直接用js修改html呈现代码
如果要求严谨的局部刷新,提交请求后,在后台数据处理完毕回调客户端后才改变客户端呈现数据
当点击Button时,所有UnitPrice列的值*2. GridView1的EnableViewState设为false; UpdatePanel的UpdateMode设为Always(默认值).<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:Button ID="Button1" runat="server" Text="点击时所有UnitPrice列值*2" onclick="Button1_Click" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" EnableViewState="false"
DataKeyNames="ProductID" >
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ProductID"
InsertVisible="False" ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField DataField="ProductName" HeaderText="ProductName"
SortExpression="ProductName" />
<asp:TemplateField HeaderText="Unit Price">
<ItemTemplate>
<asp:UpdatePanel runat="server" UpdateMode="Always" ID="UpdatePanel1" RenderMode="Inline">
<ContentTemplate>
<asp:Label ID="LabelUnitPrice" Text='<%# Eval("UnitPrice", "{0:c}") %>' runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection("server=localhost;database=northwind;uid=sa;pwd="))
{
SqlCommand cmd = new SqlCommand("select ProductID, ProductName, UnitPrice from Products", conn);
conn.Open();
dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
}
GridView1.DataSource = dt;
GridView1.DataBind(); ViewState["Products"] = dt; //为了不影响数据库,以后把ViewState["Products"]作为GridView1的数据源。
}
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)ViewState["Products"];
foreach (DataRow row in dt.Rows)
{
row["UnitPrice"] = Convert.ToDecimal(row["UnitPrice"]) * 2;
}
GridView1.DataSource = dt;
GridView1.DataBind(); ViewState["Products"] = dt;
}