0
我想知道返回一個webcontrol和傳遞之間的區別。我有一個在我的aspx代碼中的webcontrol。像傳遞vs返回(網絡)控件?
<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);
而現在它的工作原理。我想知道這是爲什麼。有人能告訴我嗎?
看起來很奇怪,調用構造函數不會像從aspx頁面調用時那樣做。最初我也設置了一個ID,但由於rcbName已經被設置爲ID,我不認爲這是必要的。 – Rubenisme 2012-07-12 15:18:30
在控件上設置了頁面特定的值。嘗試調試並查看傳入的控件,然後將其與新的RadComboBox()進行比較並查看其差異。 – 2012-07-12 15:20:43