当我更改RadGrid下拉列表时,我正在尝试刷新网格外的asp.net标签控件。我不回发整个页面。无论如何我可以使用Ajax techinique刷新吗?请告诉我。
感谢您的帮助。
答案 0 :(得分:1)
将网格以及网格外部的任何控件换行,这些控件需要在RadAjaxPanel内部异步更新。
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
<asp:Label ID="Label1" runat="server" />
<telerik:RadGrid ID="RadGrid1" runat="server">
...
</telerik:RadGrid>
</telerik:RadAjaxPanel>
编辑:看到你的上一条评论,使用RadAjaxManager更合适,如:
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ...>
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Label1" />
<telerik:AjaxUpdatedControl ControlID="Label2" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
答案 1 :(得分:1)
您在评论中发布的Telerik文章(您正在阅读的教程)非常陈旧,因此使用旧版本的Telerik控件。
我已经构建了一个示例,希望能为您提供实现目标的起点,但它使用Telerik ASP.NET Ajax 2010控件(我假设它们在2011版本中没有那么多改变你可以下载)。
这是:
<强>标记强>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
....
<asp:ScriptManager ID="scriptManager" runat="server"></asp:ScriptManager>
<telerik:RadAjaxPanel ID="radAjax" runat="server">
<telerik:RadGrid ID="radGrid" runat="server" GridLines="None" Width="100%">
<MasterTableView AutoGenerateColumns="False">
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<telerik:RadComboBox ID="comboBox1" runat="server" OnSelectedIndexChanged="cbm_SelectedIndexChanged" AutoPostBack="true">
<Items>
<telerik:RadComboBoxItem Text="Item 1" Value="Value 1" />
<telerik:RadComboBoxItem Text="Item 2" Value="Value 2" />
<telerik:RadComboBoxItem Text="Item 3" Value="Value 3" />
</Items>
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
<asp:Label ID="label1" runat="server"></asp:Label>
</telerik:RadAjaxPanel>
<强>代码强>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Quick data bind for the example
var data = new[] { new { Value = "1" }, new { Value = "2" } };
radGrid.DataSource = data;
radGrid.DataBind();
}
}
protected void cbm_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
{
//Retrieve a reference to the combobox if needed
RadComboBox comboBox = (RadComboBox)o;
//Set the label text to the value of the combobox item selected
label1.Text = e.Value + comboBox.ID;
}
希望这有帮助。