【发布时间】:2018-08-15 21:23:03
【问题描述】:
我有一个用户控件。在该控件中,我有一个使用 sql 数据源的数据视图。我希望该 sql 数据源的参数之一是封闭用户控件的属性。这个想法是我希望包含用户控件的页面将用户控件上的属性设置为记录的 ID,使用户控件可见,现在用户可以看到该记录的数据。
我在想我应该能够拥有一个引用封闭用户控件的 ControlParameter。但是控件 ID 是什么?
我想出了一个变通办法,就是使用一个普通的参数并编写
Public Property record_id As Integer
Get
Return dsRecord.SelectParameters.Item("rid").DefaultValue
End Get
Set(value As Integer)
dsRecord.SelectParameters.Item("rid").DefaultValue = value
DetailsView1.DataBind()
End Set
End Property
这行得通,而且代码不多,但看起来有点……粗糙。有没有更清洁的方法?
【问题讨论】:
-
dsRecord.SelectParameters.Item("rid").DefaultValue = value可以缩短为dsRecord.SelectParameters("rid").DefaultValue = value,如果控件可见并且设置了DataSourceID,则您可能不需要Set 中的Databind()。 -
另外,我认为
WriteOnly属性就足够了。