我的DeatilView控件中定义了一个InsertItemTemplate。在此模板中,我有许多用户填写的字段和一些自动填充的字段,用户无法更改它们。这些值来自存储在会话中的对象 代码如下所示:(我只提及必要的部分,如果您需要更多信息请告诉我)
<asp:DetailView ... DataSourceID="MyDataSource" ...>
<Fields>
...
<InsertItemTemplate>
// These are the fields filled by the system
<asp:Label ... Text='<%# some value from session object %>' />
<asp:Label ... Text='<%# some value from session object %>' />
// some textboxes here that user fills,
//they use Bind("some data source value here") to send their data to database
...
</InsertItemTemplate>
...
</Fields>
</asp:DetailView>
现在问题出在我需要将值实际插入数据库的位置 文本框值发送正常,但由于我没有绑定标签值,因此它们不会发送到DataSource。所以我问怎么做?
答案 0 :(得分:0)
您使用的是什么类型的DataSource?我需要知道它,因为根据数据源的类型,几乎没有办法从会话中获取参数。
答案 1 :(得分:0)
detailView_ItemInserting(object sender, DetailsViewInsertEventArgs e)
,您可以在此事件中使用detailView.FindControl
方法来访问Label控件。