0

我有一个 RADgrid,上面有一个行点击事件。此事件有效,我在服务器端代码中看到断点命中。

使用我提取的行值,我可以访问数据库并获得我正在寻找的结果并将其分配给 asp:label 控件。

问题是,我从未在标签的屏幕上看到该值。我已经验证 label.text 属性具有我想要的值,但是我无法让它显示在屏幕上。

在使用服务器端控件完成网格后,我需要触发一个命令来刷新页面吗?

4

1 回答 1

1

请尝试使用以下代码片段。

ASPX

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                <telerik:AjaxUpdatedControl ControlID="Label1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
</telerik:RadAjaxLoadingPanel>
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" OnNeedDataSource="RadGrid1_NeedDataSource"
    OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings Selecting-AllowRowSelect="true" EnablePostBackOnRowClick="true">
    </ClientSettings>
</telerik:RadGrid>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

ASPX.CS

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    dynamic data1 = new[] {
          new { ID = 1, Name ="Name_1"},
          new { ID = 2, Name = "Name_2"},
          new { ID = 3, Name = "Name_1"},
          new { ID = 4, Name = "Name_4"},
          new { ID = 5, Name = "Name_1"}
      };

    RadGrid1.DataSource = data1;
}


protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (RadGrid1.SelectedItems.Count > 0)
    {
        GridDataItem selectedItem = (GridDataItem)RadGrid1.SelectedItems[0];
        // Perform Your Logic here
        Label1.Text = DateTime.Now.ToString();
    }
}

欲了解更多信息,请查看以下链接。 http://www.telerik.com/community/forums/aspnet-ajax/grid/grid-row-click-showing-value-in-asp-label.aspx

于 2013-08-12T11:20:35.900 回答