私は複合コントロールとしてドロップダウンリストを表示する必要があるカスタムコントロールを開発しています。ASP.Netカスタムコントロール
ドロップダウンリストには、Rest Webサービスからデータが入力されます。私が直面している問題は、ドロップダウンリストにはDataTextFieldとDataValueFieldしかありませんが、コントロールにさらに値を格納する方法が必要です。つまり、選択したアイテムにアクセスするために必要ないくつかのプロパティがあります。
これについてはどのような方法がありますか?ここで
は、私がこれまで持っているコードです:参加/保存し、さまざまな値を取得するために、スプリット[ValidationProperty("SelectedValue")]
public class SelectSurveyControl : Panel
{
private DropDownList ddlSurveys;
public string SelectedSurveyId
{
get
{
return SelectedValue;
}
}
public string SelectedSurveyJavascriptEmbedCode
{
get
{
return this.ddlSurveys.SelectedItem.Attributes[""];
}
}
public string SelectedValue
{
get
{
return ddlSurveys.SelectedValue;
}
set
{
if (ddlSurveys == null)
{
ddlSurveys = new DropDownList();
}
ddlSurveys.SelectedValue = value;
}
}
protected override void OnLoad(EventArgs e)
{
base.OnInit(e);
if (ddlSurveys == null)
{
ddlSurveys = new DropDownList();
}
IList<Survey> surveys = GetSurveys();
this.ddlSurveys.DataSource = surveys;
this.ddlSurveys.DataTextField = "title";
this.ddlSurveys.DataValueField = "id";
this.ddlSurveys.DataBind();
ddlSurveys.SelectedValue = this.SelectedValue;
ddlSurveys.CssClass = "umbEditorTextFieldMultiple charlimit";
ddlSurveys.Attributes.Add("SurveyId", SelectedSurveyId);
ddlSurveys.Attributes.Add("JavascriptEmbedingCode", SelectedSurveyId);
this.Controls.Add(ddlSurveys);
}
public IList<Survey> GetSurveys()
{
...
}
}
http://stackoverflow.com/questions/2001521/html-dropdown-selection-valueはあなたにこの問題の出発点を与えることができます。 – DaveParsons
どうすれば.NETコードで達成できますか? – Burt
追加のデータをクライアントで利用できるようにする必要がありますか、それともサーバー上で処理するために追加のデータが必要ですか? – DaveParsons