Thanks Rob.
There's like a billion overloads I can understand how'd you'd miss one case.
While I've got your attention, I was hoping you could answer these questions:
1. Why do I have to prefix C# keywords with underscore for helper attributes (like new {_class="blah"}? Why not @ like senor C# allows?
2. I like the linq expression first parameter for typed ActionLinks/Forms, but I found the requirement to include a dummy parameter a bit confusing. e.g. using expression ac => ac.Create("name","blah","blah") on a Form<T>() will still correctly change the 3 arguments to the post fields. I found this cool but a bit confusing. It's like I have literals in my code that are just dummy place holders. Maybe I'm using the linq expression wrong.
3. I'd like to see a typed version of common attributes for HTML elements instead of always accepting object attributes. I know it'll clutter the code a bit, but it feels a bit weird passing anonymous types around. What effect does this have on performance? Having to use reflection all the time to get attributes? Is performance a concern, or is reflection quick enough? I was always encouraged to avoid reflection in rendering situations for performance reasons. I guess the tradeoff is worth it.
4. I wrote a simple event scheduling system for my friend as an exercise, but I got stuck on paging. Do you know if ScottGu has that PagedList<T> lying around? When he's not looking, can you jump on his box and nab it for me? That's if asking him nicely doesn't work.
Thanks,
-CVertex