Webコントロールを返すことと渡すことの違いを知りたいのですが。私のaspxコードにあるwebcontrolがあります。好き
<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);
そして今、それは機能します。なぜなのか知りたいのですが。誰か教えてもらえますか?