So… I’ve got an ASP.NET app. Let’s assume I configure IIS to always point to the same file, index.aspx. Let’s say I want to write all my code in C# and then return some HTML I generated in the C#. How do I do that?
Would I just have 1 file with 1 line of code,
<%@ Page CodeBehind="mycode.cs"
Is it necessary to have such a “useless” file? I can’t direct the request straight into the code-behind?
Secondly, where are some good tutorials on code-behinds? Specifically, I see this Page_Load event that I guess gets called automatically?
- Are there other events? What are they?
- Also, how would I access things like POST data, or the request URL?
- How would I return a HTML response? Or a 404?
I’m seeing a lot of tutorials on “inline” ASP, but I don’t really care about that.
Sounds like you want a generic handler. They are available in the New Item… dialog. This will give you a
.ashxfile where you can handle incoming web requests just like you would in your scenario, but in a cleaner way. Using these you can return any kind of HTTP response, including HTTP errors. You have full access to the HTTP context for POST data, URL parameters, cookies, etc. See more here.Another alternative is to implement
IHttpHandleryourself, although with generic handlers there isn’t much point in going through the effort.