に動的に生成されたチェックボックスの一覧からチェックボックスの値を取得する方法:一度、ユーザーが作成した私は動的にASPに追加されchekboxesのシリーズを作成していたWebフォーム内でasp.net
//Generates the List of Entities that may be shared
protected void GenerateEntityList(string agencyId, string agencyName)
{
var selectedAgency = UserFactory.GetAgencyAndSharedDataById(Convert.ToInt64(agencyId));
entityContainer.Controls.Clear();
//builds the entity list based upon entities in DB
var currentEntities = UserFactory.GetEntityList();
//add checkboxes
entityContainer.Controls.Add(new LiteralControl("<input type='checkbox' id='selectAllCB' value='All'>Select All<br/><br/>"));
foreach (var item in currentEntities)
{
CheckBox entityCheckBox = new CheckBox();
int currentItem = item.EntityTypeId.GetValueOrDefault(0);
entityCheckBox.Text = item.EntityName.ToString();
entityCheckBox.CssClass = "am_Checkbox";
entityContainer.Controls.Add(entityCheckBox);
entityContainer.Controls.Add(new LiteralControl("<br/><br/>"));
//mark checkboxes as checked if currently stored in the database
if (selectedAgency.FirstOrDefault().SecurityDataShares != null && selectedAgency.FirstOrDefault().SecurityDataShares.Count > 0)
{
foreach (var ce in selectedAgency.FirstOrDefault().SecurityDataShares)
{
if (ce.EntityId == item.EntityId)
{
entityCheckBox.Checked = true;
}
}
}
}
プレースホルダ選択肢を作成または削除する機能があります。私はデータベースに戻ってそれらを挿入することができますので、私は戻って/チェックボックスから値を収集したいと思います更新をクリックします。
//get the text value of every checkbox
protected void updateEnties()
{
string receivingAgency = ReceivingAgencyID;
long contributingAgency = QueryID;
List<string> cbValues = new List<string>();
foreach (CheckBox currentItem in entityContainer.Controls)
{
cbValues.Add(currentItem.Text);
}
}
は、しかし、私は私はどちらか私は間違ってコントロールを呼び出していますか、それはポストバックのために破壊されていると信じてしまう私は戻って何かを得ていないのですコレクションを反復処理しようとすると。 これらの要素をプレースホルダに書き込む代わりに、リストボックスコントロールのような別のコントロールを使用する必要がありますか?
誰かがチェックボックスの値を取得する方法に関するガイダンスを私に提供できますか?
これは問題なく動作するようですが、リクエストしてください。フォームは選択されたフォーム要素の "on"の値だけを返す方法を提案していますか?例Checkbox fooがチェックされています。配列にfooが表示されるように 'var selectedValues'を取得するにはどうすればいいですか? – rlcrews
削除のプロセス。 Z項目のうち、Xがチェックされていることがわかっている場合、(Z - X)はチェックされません。しかし、このプロセスは、どのアイテムがチェックされたかを知りたいときには効果的です。 – Tejs
ああ、私の問題です。私のリストは、linqで動的に生成され、アルファベット順にソートされています。必ずしもDBや固定値に格納されているわけではありません。実際に両方を派生させる必要があるので、正しいチェック要素をキャプチャするように参照を戻すことができます。 – rlcrews