【发布时间】:2015-05-09 05:27:17
【问题描述】:
我有一个绑定到对象数据源 (ODS) 的 ASP.NET DetailsView。我有用于 ODS OnSelecting 事件的方法,在此方法中,我们根据从对象数据源返回的字段进行另一个数据库查找以获得记录的“风险”值。
我的问题是如何绑定/评估并显示这个额外的“风险”字段,我一直觉得很困难,因为它没有将数据源绑定到详细信息视图。
我尝试将 Label 控件添加到 DetailsView ItemTemplate,但您无法向控件添加 ID 以在后面的代码中引用它。有任何想法吗?
更新这里的一些代码
这里有一些我正在尝试做的简单示例代码
<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="ObjectDataSource1">
<Fields>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<div style="float: right">
<asp:Label runat="server" Text="NEED RISK HERE"></asp:Label>
</div>
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="ButtonUpdate" runat="server" CausesValidation="True" CommandName="Update"
Text="Update" />
<asp:Button ID="ButtonCancelUpdates" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Cancel" />
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<br />
<br />
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OnSelecting="ods1_Selecting"
SelectMethod="GetMemoryDataTable" TypeName="AspMemoryDatatableDemo.MemoryDataTableProvider">
</asp:ObjectDataSource>
代码背后
public String GetRisk()
{
return "HIGH";
}
protected void ods1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
// Get Risk based on row data
// Need some way of showing this in the DetailsView
GetRisk();
}
数据集实际上来自数据实体,但在此示例中,我只使用内存数据表。
【问题讨论】:
标签: asp.net binding detailview