小编Mir*_*aev的帖子

ASP NET.Rad Grid.在回发时丢失更改的值

我正在使用一个RadGrid,其中包含多个可以编辑的列(BatchEdit就像excel一样).

<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" runat="server" AutoGenerateColumns="False"GridLines="Both"OnNeedDataSource="RadGrid1_NeedDataSource" AllowAutomaticInserts="True" AllowAutomaticUpdates="True"AllowAutomaticDeletes="True">
            <ItemStyle Wrap="false" />
            <MasterTableView TableLayout="Fixed" NoMasterRecordsText="" ShowFooter="true" EditMode="Batch">
                ...
            </MasterTableView> </telerik:RadGrid>
Run Code Online (Sandbox Code Playgroud)

RadGrid的数据源是ObjectDataSource

<asp:ObjectDataSource ID="TestSource" runat="server" TypeName="TestClass" SelectMethod="GetAllItems">
      <UpdateParameters>
                <asp:Parameter Name="Name" Type="String" />
                <asp:Parameter Name="LastName" Type="String" />
                <asp:Parameter Name="BirthData" Type="DateTime" />
      </UpdateParameters> </asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)

在OnNeedDataSource事件上,我将ObjectDataSource的Id设置为RadGrid.DataSourceId.

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
        RadGrid1.DataSourceID = "TestSource";
}
Run Code Online (Sandbox Code Playgroud)

在当前页面我也有按钮"发送电子邮件"发送rad gird插入的值.

<asp:Button ID="SendEmail" OnClick="SendEmail_Click" Text="Send" runat="server" />
Run Code Online (Sandbox Code Playgroud)

问题是SendEmail_Click DataSource为null.但是我希望得到新改变的DataSource.

protected void SendEmail_Click(object sender, EventArgs e)
{
        RadGrid1.Rebind();
        // RadGrid1.Datasource is null
}
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?非常感谢.

c# asp.net telerik

7
推荐指数
1
解决办法
460
查看次数

标签 统计

asp.net ×1

c# ×1

telerik ×1