在webform 里用PlaceHolder动态加载News.ascx
Control ctrl = Page.LoadControl("News" + ".ascx");
this.ContentPlaceHolder.Controls.Add(ctrl); webform.aspx源码:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="webformUpdatePanel" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="ContentPlaceHolder" EnableViewState="false" runat="server"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel> News.ascx源码如下:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="divToolbar" style="background-color: #cdcdcf; width: 100%">
<asp:Menu ID="menNews" runat="server" Font-Size="12px" Orientation="Horizontal" OnMenuItemClick="menNews_MenuItemClick"
Height="30px" Width="100%" ForeColor="#40508e">
<Items>
<asp:MenuItem Text="保存" ToolTip="保存" ImageUrl="~/images/保存.bmp" Value="Save"></asp:MenuItem>
<asp:MenuItem Text="放弃" ToolTip="放弃" ImageUrl="~/images/取消.bmp" Value="Cancel"></asp:MenuItem>
<asp:MenuItem Text="退出" ToolTip="退出" ImageUrl="~/images/关闭.bmp" Value="Close"></asp:MenuItem>
</Items>
</asp:Menu>
</div>
<asp:GridView ID="GridView1" Font-Size="14px" runat="server" Width="100%" OnPageIndexChanging="GridView1_PageIndexChanging"
AllowPaging="True" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged" BackColor="White" RowStyle-Height="30px"
OnDataBinding="GridView1_DataBinding" OnSelectedIndexChanging="GridView1_SelectedIndexChanging">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="Name">
<ItemStyle Width="20px" />
</asp:BoundField>
<asp:BoundField DataField="n_title" HeaderText="标题" SortExpression="n_title">
<ItemStyle Width="150px" />
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="divItem">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel> 为什么我点击Grid取数据的时候会引起页面刷新
怎么做才会不刷新
Control ctrl = Page.LoadControl("News" + ".ascx");
this.ContentPlaceHolder.Controls.Add(ctrl); webform.aspx源码:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="webformUpdatePanel" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="ContentPlaceHolder" EnableViewState="false" runat="server"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel> News.ascx源码如下:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="divToolbar" style="background-color: #cdcdcf; width: 100%">
<asp:Menu ID="menNews" runat="server" Font-Size="12px" Orientation="Horizontal" OnMenuItemClick="menNews_MenuItemClick"
Height="30px" Width="100%" ForeColor="#40508e">
<Items>
<asp:MenuItem Text="保存" ToolTip="保存" ImageUrl="~/images/保存.bmp" Value="Save"></asp:MenuItem>
<asp:MenuItem Text="放弃" ToolTip="放弃" ImageUrl="~/images/取消.bmp" Value="Cancel"></asp:MenuItem>
<asp:MenuItem Text="退出" ToolTip="退出" ImageUrl="~/images/关闭.bmp" Value="Close"></asp:MenuItem>
</Items>
</asp:Menu>
</div>
<asp:GridView ID="GridView1" Font-Size="14px" runat="server" Width="100%" OnPageIndexChanging="GridView1_PageIndexChanging"
AllowPaging="True" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged" BackColor="White" RowStyle-Height="30px"
OnDataBinding="GridView1_DataBinding" OnSelectedIndexChanging="GridView1_SelectedIndexChanging">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="Name">
<ItemStyle Width="20px" />
</asp:BoundField>
<asp:BoundField DataField="n_title" HeaderText="标题" SortExpression="n_title">
<ItemStyle Width="150px" />
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="divItem">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel> 为什么我点击Grid取数据的时候会引起页面刷新
怎么做才会不刷新
你看错了吧,你的 News.ascx 里只有一个控件,看上去像是全部刷新了。
{
Control ctrl = Page.LoadControl("News" + ".ascx");
this.ContentPlaceHolder.Controls.Add(ctrl);
}News.ascx:
public partial class News : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = SqlHelper.getDataTable("select top 10 lang_code ID, string_value n_title from gui_text");
GridView1.DataBind(); }
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataSource = SqlHelper.getDataTable("select top 10 lang_code ID, string_value n_title from gui_text");
GridView1.DataBind(); }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{ }
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{ }
protected void GridView1_DataBinding(object sender, EventArgs e)
{ }
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{ }
}
在ascx 页面不是可以放ScriptManagerProxy吗?这样可以实现。
http://hi.baidu.com/guke1991/blog/item/360896a3203fb4aacaefd0f7.html
谢谢SP1234,我以前都只是用了一个UpdatePanel.哈哈,这次我想我要用多点了.