2010-11-17 3 views
0

d'erreur très étrange, j'ai un champ sur un MVC Vue:Exception levée lorsque Request.Form [ « bla »] est appelé une forme de cases à cocher valeur

<%: Html.CheckBox("Reportable", ViewData["Reportable"])%> 

Im devinant c'est une mauvaise pratique, mais je besoin d'une valeur booléenne, et essaie de l'obtenir de la FormCollection en faisant postback sur:

wasteStreamReciever.ERCBReportable = bool.Parse(Request.Form["Reportable"]); 

que je fais mal? Y a-t-il un meilleur moyen?

modifier

J'ai aussi essayé en vain:

bool bchk = false; 
bool.TryParse(Request.Form["Reportable"], out bchk); 

Edit2

L'exception levée est:

A potentially dangerous Request.Form value was detected from the client 
System.Web.HttpRequestValidationException 
+0

Quelle exception est levée? – egrunin

+0

vérifier edit # 2, à partir de ce que je peux dire c'est assez commun, mais il y a beaucoup de facteurs qui pourraient le causer. –

Répondre

1

Une case à cocher HTML ne doit passer sa valeur lorsqu'il est coché. Si vous avez seulement besoin de savoir si la case 'Reportable' a été cochée, vous n'avez pas besoin d'analyser la valeur du tout; vous avez juste besoin de voir s'il y a une valeur.

+0

Même si je prends la demande.formulaire, et je coche la case à cocher et de retour, je reçois toujours l'exception –

+0

Je suppose qu'il y a d'autres champs dans votre formulaire. Est-ce que certains d'entre eux (y compris votre case à cocher) ont des valeurs qui contiennent du HTML? – cHao

+0

Ok, j'ai résolu ce problème wierd. Vérification de la présence d'une valeur dans la zone de rapport. Est-ce que je compare request.form ["Reportable"] à null? –

Questions connexes