İşte elde etmeye çalıştığım şeyin basitleştirilmiş bir örneğidir;<% # isChecked%> ifadesini kullanarak bir onay kutusu belirleme
<asp:CheckBox runat="server" Checked="<%# this.isChecked %>" id="myCheckBox" />
Ardından kodumun arkasında;
public partial class _Default : System.Web.UI.Page
{
bool _isChecked = true;
public string isChecked
{
get
{
return _isChecked.ToString();
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
ben bu durumda, ben sadece myCheckBox.Checked = true kullanabilirsiniz farkındayım, ama sadece örnek amacıyla bu örneği kullanıyorum. Gerçek kontrol özeldir, ama bu yaklaşımı işe almak için hiç şansım yok. Sadece sağladığım değeri görmezden geliyor gibi görünüyor.
Bu şekilde <% # this.isChecked%> kullanmak geçerli midir?
DÜZENLEME:
Üzgünüm, acele yazdım ve ben sadece bir örnek olması için "onay kutusunu" amaçlanan bu gerçekten net değil biliyoruz. Sadece kontrol kutusu denetiminin "işaretli" özniteliği değil, ASP denetiminin herhangi bir özel özniteliğine bir sunucu tarafı boole almaya çalışıyorum.
DÜZENLEME 2: Boole alanı yerine dize özelliğini kullanmak benim örnek güncellendi, ancak şimdi benim ASPX dosyasında aşağıdaki hatayı bildiriyor; Eğer (HTML) o kontrol edilecektir
checked="anything"
sağlarsanız
'bool'
Başlangıçta yaptığım şey budur, ancak üst sayfa için Page_Load öncesi denetimin gerçekleştirilmesi nedeniyle, öznitelik çok geç ayarlanır ve denetim, özniteliğin varsayılan değerine göre oluşturulur; Page_Load içinde bir set. –
Denetim, bu noktada tam olarak oluşturulmamalı, ancak denetimin Page_load'ını düzenlemeyi denediniz mi? Ya da Page_PreInit kullanıyor musunuz? – cjk
'Checked', bu durumda bir sunucu denetiminde bir boolean özelliğidir, bir html özniteliği değil. Oluşturma, sunucu denetimi tarafından ele alınır. –