Vous ne pouvez pas obtenir du texte avec zone de texte quand il est en lecture seule?

J’ai une boite de texte

  

Le texte dans la zone de texte est saisi via un Jquery DatePicker. Dans certains codes, je reçois le texte de cette zone de texte comme suit.

 ssortingng x=checkIn.Text; 

Pourquoi ne puis-je pas extraire la date saisie de la zone de texte? Je suppose que cela a à voir avec le fait qu’il est en lecture seule car lorsque je supprime cela, cela fonctionne?

Quelqu’un peut-il m’aider?

Dans ASP.Net, si la valeur readonly est modifiée, la valeur d’origine est rétablie dans la publication.

Vous pouvez utiliser un wrokaround, mais au lieu de spécifier de manière déclarative en readonly , atsortingbuez-le en tant qu’atsortingbut dans code-behind. c’est à dire

au lieu de

appliquer c'est code-behind

checkIn.Atsortingbutes.Add("readonly", "readonly");

Mais le viewstate peut toujours ne pas fonctionner avec cela.

Plus d'informations:

Il existe une différence subtile entre disabled contrôles en readonly et disabled contrôles disabled en HTML. Les disabled ne seront pas soumises avec le formulaire, mais celles en readonly seront. Littéralement, readonly est juste en lecture seule , mais disabled est en réalité désactivé .

Du W3C: http://www.w3.org/TR/html401/interact/forms.html#h-17.12

( Descendez à la section 17.13.2 Contrôles réussis selon 17.13, Soumission du formulaire )

Cependant, ASP.Net rétablit la valeur d'origine lors de la publication si un contrôle est déclaré comme cela, c'est-à-dire si l'atsortingbut est défini lors de l'init. C'est pourquoi la définition ultérieure de l'atsortingbut (lors du chargement de la page) n'affectera pas ce comportement.

Utiliser une balise d’entrée HTML au lieu de asp: textbox

Utilisez ceci:-

  

Au lieu de cela:-

  

Ecrivez le code suivant dans votre fichier code, pour asp.net .cs ou fichier de classe et pour vb dans un fichier .vb.

Vous devrez l’écrire lors d’un événement de chargement de page, selon que vous le vouliez avant ou après (ou indépendamment des deux) …

textbox.Atsortingbutes.Add (“en lecture seule”, “en lecture seule”);

Essayez de readonly false en readonly avant de publier les valeurs via jQuery ou Java-Script. Ça devrait marcher.

  $('#tbox').removeAttr('readonly'); 

Supposons que j’ai un asp:button puis sur le client cliquez sur Je dois appeler une fonction qui supprime l’atsortingbut en lecture seule de la zone de texte.

    

et changez la fonction d’atsortingbut en javascript comme suit

 function changeAtsortingbute() { $('#checkIn').removeAttr('readonly'); return true; } 

Vous pouvez également laisser l’atsortingbut readOnly désactivé dans le contrôle asp: TextBox et utiliser jquery $ (‘# textbox’). Attr (‘readOnly’, ‘readOnly’).

Appliquer dans asp.cs Page: AttrName.Atsortingbutes.Add (“readonly”, “readonly”);

Veuillez utiliser:

Request.Form [txtText.UniqueID]