Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 441
  • Last Modified:

How can I turn off eventvalidation from code behind?

I've created an extension method to allow panels in my web application to rendertoHTML on demand.
Unfortunately to do it as I am, requires that EventValidation is turned off.  I don't want to turn it off for the entire site, and I do not want to have to know before hand to turn it off in the page direction.

Surely there is a way to turn it off as needed, then turn it back on after I'm done?  It seems more secure that way.
<System.Runtime.CompilerServices.Extension()> _
  Public Function RenderedOutput(ByVal c As System.Web.UI.WebControls.Panel) As String
     
        Dim SB As New System.Text.StringBuilder()
 
 
        Using swr As New System.IO.StringWriter(SB)
            Using htmltw As New System.Web.UI.HtmlTextWriter(swr)
                c.RenderControl(htmltw)
                Return SB.ToString()
            End Using
        End Using
 
 
 
    End Function

Open in new window

0
dguillen
Asked:
dguillen
  • 4
  • 3
1 Solution
 
carlnorrbomCommented:
Hi,

As far as I know You can't explicitly turn off event validation from code behind. You need to do it at page level declaratively in the page directive or in the <pages> configuration section of the web.config.

I guess one way around it could possibly be to craft some sort of Http utility to trap the rendered html before outputting it to the page and rewrite the page directive if a certain condition is met. I don't have access to my dev box at the moment but will look into it as soon as I can. Not sure about this though!

/Carl.
0
 
dguillenAuthor Commented:
what about if you create a page on the fly?
 it feels "weird" the idea that you can't control the site through code, you have to do it through special markup, it seems to me that if you generate pages dynamically they'd have given a way to do it outside of modifying the web.config!
0
 
MikeMCSDCommented:
did you try:

validator.Enabled = false

and/or

validator.EnableClientScript = false

0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
dguillenAuthor Commented:
I'm sorry MikeMCSD, I think you're thinking of form validator controls, where as I'm referring to the page Eventvalidation attribute.  Thanks though!
0
 
carlnorrbomCommented:
Hi,

Well, as far as I understand it's "By design"... I would probably still look into the HttpUtility option to catch and rewrite the rendered html before building the page and sending it off to the browser.

/Carl.
0
 
dguillenAuthor Commented:
its definitely by design, but most things can be gotten around.  I'm not sure an httputility would work because the page directive is read by the server not streamed to the client? Unless you were thinking of something else?
0
 
carlnorrbomCommented:
Hi,

Yes I have given this some time and I have not been successful. I was able to supress the error message generated by the event validation using a custom httpmodule and overriding the BeginRequest event and then using context.Context.ClearError() but I don't see this as a viable solution in Your case.

/Carl.
0
 
dguillenAuthor Commented:
Well I'm going to accept this as the solution, essentially that it can't be done, or at least most likely can't be done.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now