首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajaxify RadGrid和来自后台代码的标签

Ajaxify RadGrid和来自后台代码的标签
EN

Stack Overflow用户
提问于 2012-04-19 03:33:31
回答 2查看 2K关注 0票数 0

我正在尝试在代码后面Ajax化RadGrid控件和标签。这是我的代码。但是当RadGrid改变时,标签值不会被刷新。你能告诉我这里可能出了什么问题吗?

谢谢你的帮助。

代码语言:javascript
复制
                    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
                        <AjaxSettings> 
                            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> 
                                <UpdatedControls> 
                                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> 
                                </UpdatedControls> 
                            </telerik:AjaxSetting> 
                        </AjaxSettings> 
                    </telerik:RadAjaxManager> 

                    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1"> 
                        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"> 
                            <MasterTableView> 
                                <Columns> 
                                </Columns> 
                            </MasterTableView> 
                        </telerik:RadGrid> 
                    </telerik:RadAjaxPanel> 
        <div id="div1" runat="server"> 
            <table id="table1" runat="server" > 
                <tr> 
                    <td align="center"> 
                        <asp:Label ID="lblName" runat="server" Font-Bold="true"> </asp:Label> 
                    </td> 
                </tr> 
            </table> 
        </div> 

代码在后面。

代码语言:javascript
复制
    protected void Page_Load(object sender, EventArgs e) 
    { 
        try 
        { 
            if (!Page.IsPostBack) 
            { 
               RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, lblName, null); 
            } 
        } 
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-19 14:28:28

请检查下面的代码片段或演示。这对我来说是正确的。如果有任何问题,请告诉我。

.aspx

代码语言:javascript
复制
 <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
    AllowPaging="True" OnPreRender="RadGrid1_PreRender" AutoGenerateColumns="false">
    <PagerStyle AlwaysVisible="true" />
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>

.aspx.cs

代码语言:javascript
复制
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    DateTime dt = new DateTime();

    dynamic data = new[] {
            new { ID = 1, Name ="Name1", customdate=dt,NO = 11.00},
            new { ID = 2, Name = "Name2", customdate=dt,NO = 11.00},
            new { ID = 3, Name = "Name3", customdate=dt,NO = 11.00},
            new { ID = 4, Name = "Name4", customdate=dt.AddYears(2011),NO = 11.44},
            new { ID = 5, Name = "Name5", customdate=dt,NO = 10.4}
        };

    RadGrid1.DataSource = data;
}


protected void Page_Load(object sender, EventArgs e)
{
    RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, Label1, null);
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{

    Label1.Text = DateTime.Now.ToString();
}

在上面的例子中,如果你改变了radgrid的页面大小,那么它也会更新标签文本。

票数 0
EN

Stack Overflow用户

发布于 2012-04-19 04:09:35

尝试不使用加载面板的重载:

代码语言:javascript
复制
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, lblName);

如果这仍然不起作用,请尝试如下所示:

代码语言:javascript
复制
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(RadGrid1);
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(lblName);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10216642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档