Estoy intentando crear un sitio web simple de Asp.Net que enumerará algunos archivos. Cada archivo debe ser verificado. Hasta aquí todo bien. Inhabilité el ViewState en el web.config, pero todavía estoy terminando con una vista de valores allí. Después de decodificar con la aplicación ViewStateDecoder 2, he descubierto que mi ViewState se ve así:Cómo obtener el asp: CheckBox fuera del ViewState? (__ControlsRequirePostBackKey__)
<?xml version="1.0" encoding="utf-16"?>
<controlstate>
<HybridDictionary>
<DictionaryEntry>
<String>__ControlsRequirePostBackKey__</String>
<ArrayList>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl01$d__bin</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl02$d__obj</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl02$ctl00$ctl00$d__Debug</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl02$ctl00$ctl00$ctl00$ResGen_read_1_tlog</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl02$ctl00$ctl00$ctl00$ResGen_write_1_tlog</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl03$d__Properties</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl03$ctl00$AssemblyInfo_cs</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl04$d____UpgradeReport__Files</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl04$ctl00$UpgradeReport_css</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl04$ctl00$UpgradeReport_xslt</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl04$ctl00$UpgradeReport__Minus_gif</String>
<String>ctl00$ContentPlaceHolder1$DirectoryLister1$ctl04$ctl00$UpgradeReport__Plus_gif</String>
</ArrayList>
</DictionaryEntry>
</HybridDictionary>
</controlstate>
Cada casilla de verificación que estoy prestación está en él! ¿Cómo puedo sacar la casilla de verificación de allí? Ninguno de los cuadros desencadena un PostBack
. He intentado fileCheckBox.AutoPostBack = false;
, pero no resuelve nada.
Así que mi pregunta es: ¿Cómo puedo evitar que mis casillas de verificación se registren en el ViewState?
Este es el código en mi control de usuario que genera una casilla para cada archivo:
CheckBox fileCheckBox = new CheckBox();
fileCheckBox.AutoPostBack = false;
fileCheckBox.CssClass = "file " + GetExtension(file.Name);
fileCheckBox.ID = MakeId(file.Name);
fileCheckBox.Checked = true;
fileCheckBox.Text = file.Name;
children.Controls.Add(fileCheckBox);
Desactivación de la ViewState para el control no funciona bien.
Teoría
sospecho que el control de hacer una cosa o Page.RegisterRequiresPostBack
. ¿Se puede prevenir esto?
No veo fileCheckBox en ViewState que ha publicado. –
donde están las casillas de verificación? – V4Vendetta
ctl00 $ ContentPlaceHolder1 $ DirectoryLister1 $ ctl04 $ ctl00 $ UpgradeReport__Plus_gif