我想知道返回 webcontrol 和传递 webcontrol 之间的区别。我有一个 webcontrol,它在我的 aspx 代码中。喜欢
<asp:TableCell>
<telerik:RadComboBox runat="server" ID="rcbName"></telerik:RadComboBox>
</asp:TableCell>
然后我想以编程方式填充组合框(不管它是什么类型的控件)。
所以我有这个返回组合框的函数:
private RadComboBox rcb CreateRcbSearchResults(DataSet ds)
{
RadComboBox rcb = new RadComboBox();
foreach (DataRow row in ds.Tables[0].Rows)
rcb.Items.Add(new RadComboBoxItem(row["description"].ToString(), row["id"].ToString()));
return rcb;
}
然后我会设置组合框:
rcbName = CreateRcbSearchResults(ds);
由于某种原因,这不起作用,它只会给我一个空的组合框(浏览器端),即使我在调试时看到它已被填充。
一位同事看了看,将我的函数更改为传递组合框:
private void CreateRcbSearchResults(RadComboBox rcb, DataSet ds)
{
foreach (DataRow row in ds.Tables[0].Rows)
rcb.Items.Add(new RadComboBoxItem(row["description"].ToString(), row["id"].ToString()));
}
现在我这样做:
CreateRcbSearchResults(rcbName, ds);
现在它可以工作了。我想知道这是为什么。有人可以告诉我吗?