2012-12-05 15 views
8

Program kutularına bir ASP.NET Web Formuna onay kutusu ekliyorum. Request.Form.Keys boyunca yinelemek ve onay kutularının değerini almak istiyorum. ASP.NET Onay kutularının bir değer özelliği yoktur.ASP.NET onay kutusuna değer özniteliği ekle

Değer özniteliğini, Request.Form.Keys aracılığıyla yinelediğimde, varsayılan "açık" dan daha anlamlı bir değer elde etmem için nasıl ayarlayabilirim. Sayfayı onay kutularını eklemek için

Kodu:

List<string> userApps = GetUserApplications(Context); 

Panel pnl = new Panel(); 

int index = 0; 
foreach (BTApplication application in Userapps) 
{ 
    Panel newPanel = new Panel(); 
    CheckBox newCheckBox = new CheckBox(); 

    newPanel.CssClass = "filterCheckbox"; 
    newCheckBox.ID = "appSetting" + index.ToString(); 
    newCheckBox.Text = application.Name; 

    if (userApps.Contains(application.Name)) 
    { 
     newCheckBox.Checked = true; 
    } 

    newPanel.Controls.Add(newCheckBox); 
    pnl.Controls.Add(newPanel); 

    index++; 
} 

Panel appPanel = FindControlRecursive(this.FormViewAddRecordPanel, "applicationSettingsPanel") as Panel; 

appPanel.Controls.Add(pnl); 

Kod Request.Form gelen onay kutusu değerleri almak için:

StringBuilder settingsValue = new StringBuilder(); 

foreach (string key in Request.Form.Keys) 
{ 
    if (key.Contains("appSetting")) 
    { 
     settingsValue.Append(","); 
     settingsValue.Append(Request.Form[key]); 
    } 
} 

cevap

16

InputAttributes.Add()! çünkü aşağıdaki çalışmaz

"verilen değeri işlemek etmez CheckBox denetimi (aslında render olay aşamasında özelliği kaldırır [)].":

newCheckBox.Attributes.Add("Value", application.Name); 

çözeltisi:

Dave Parslow en blog yayınına
newCheckBox.InputAttributes.Add("Value", application.Name); 

Teşekkür: Assigning a value to an ASP.Net CheckBox

İlgili konular