2017-08-30 1 views
0

J'ai un élément span qui a runat=serverFindControl et innertext comprend des caractères de mise en forme, comment supprimer?

J'essaie de lire sa valeur dans le code derrière comme celui-ci

spanspanBoxCode = (System.Web.UI.HtmlControls.HtmlGenericControl)item.FindControl("spanBoxCode"); 

Cependant, quand je regarde spanspanBoxCode.InnerText, au lieu de la valeur de chaîne réelle, il inclut un formatage comme celui-ci:

{InnerText = "\r\n          [da6f7e70-e16b-4a38-aaa0-96456ye14b1]\r\n         "} 

Comment puis-je supprimer ce formatage? Je sais que ce n'est pas dans les données sources d'origine que je suis en train de passer par là avant qu'il soit utilisé pour peupler cet élément.

J'ai juste besoin la valeur réelle de da6f7e70-e16b-4a38-aaa0-96456ye14b1

Où est que les caractères de remplissage et de contrôle supplémentaires viennent?

+0

vous pouvez utiliser le champ caché pour résoudre ce problème. –

Répondre

0

Dans ce scénario très spécifique, vous pouvez réellement utiliser la fonction Trim pour vous débarrasser de ces espaces blancs (y compris CR/LF). à savoir,

var text = spanspanBoxCode.InnerText.Trim(); 

Cependant, cela ne semble pas tout à fait raison, puisque le contenu de la durée n'est pas affichée sur le serveur sur postbacks. Vous ne devriez donc pas vous attendre à modifier le contenu de la plage en JavaScript, à cliquer sur un bouton et à récupérer par magie le contenu du span via le code ci-dessus.

Si c'est ce que vous essayez de faire, ajoutez un élément "caché" à votre code HTML, de sorte que vous pouvez définir sa valeur par JavaScript. Ensuite, côté serveur, vous pouvez facilement le récupérer.

+0

J'ai trouvé le problème - la plage elle-même incluait l'espacement et le formatage supplémentaires. – bitshift