tag:blogger.com,1999:blog-5602263760491785758.post6997380906676808920..comments2023-06-28T01:39:03.668-07:00Comments on DevArchive.net Blog: Auto generate strong typed navigation class for all user controls in ASP.NET web applicationKirill Chilingarashvilihttp://www.blogger.com/profile/09906215698720468631noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-5602263760491785758.post-26057758842927369882008-02-04T12:51:00.000-08:002008-02-04T12:51:00.000-08:00Thank you Dave,I read your blog post and it was qu...Thank you Dave,<BR/><BR/>I read your blog post and it was quite useful and interesting for me because I have not tried Build Providers yet, and definitely will star the article. The fact that we wrote the articles with similar goal in mind proves that this approach is needed and desired for some scenarios.<BR/><BR/>Actually I am very interesting about navigation patterns and frameworks for ASP.NET web apps. I tried a lot of approaches, using differnet DB, XML, sitemap-based navigation. With or without sitemap providers. I even was exited one time with workflow-based page flow in Web Client Software Factory, and tried to create something like this with more generic usage. After I saw first time channel9 video about DSL Tools, I was really exited, I supposed how it can be used for quickly assemblying navigation model with flows, permissions etc. Who said that all navigation frameworks should be dynamic > DSL could help create static definitions for pages with transitions between them. But this is still my future wish :) - to create complex code generator, first we have to own a set of reusable and time-proven API to automate its generation.Kirill Chilingarashvilihttps://www.blogger.com/profile/09906215698720468631noreply@blogger.comtag:blogger.com,1999:blog-5602263760491785758.post-36111049065877435242008-02-03T17:56:00.000-08:002008-02-03T17:56:00.000-08:00That's pretty nice Kirill. I actually posted somet...That's pretty nice Kirill. I actually posted something similar using a BuildProvider on my blog yesterday, _then_ saw your article on dotnetkicks :)<BR/><BR/>I'm going to have a bit of a play and see what I like better.<BR/><BR/>Good work!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5602263760491785758.post-42302178295807144192008-02-03T13:37:00.000-08:002008-02-03T13:37:00.000-08:00I updated the post to reflect changes for resolvin...I updated the post to reflect changes for resolving relative path for BaseDir variable. <BR/>Thanks.Kirill Chilingarashvilihttps://www.blogger.com/profile/09906215698720468631noreply@blogger.comtag:blogger.com,1999:blog-5602263760491785758.post-65413000037961730632008-02-03T10:57:00.000-08:002008-02-03T10:57:00.000-08:00Wow thanks Oleg for a great suggestion, this is wh...Wow thanks Oleg for a great suggestion, this is what I was searching for.<BR/>I will give it a try!Kirill Chilingarashvilihttps://www.blogger.com/profile/09906215698720468631noreply@blogger.comtag:blogger.com,1999:blog-5602263760491785758.post-87161077554657453892008-02-03T10:25:00.000-08:002008-02-03T10:25:00.000-08:00Thanks for a great post, Kirill. With a little twe...Thanks for a great post, Kirill. <BR/><BR/>With a little tweak, you can also eliminate your last hard-coded path: <BR/><BR/><#@ template hostspecific="True" #><BR/><#<BR/> string BaseDir = Host.ResolvePath("RelativePath");<BR/>#><BR/><BR/>Here RelativePath is a path relative to the location of the template file. More on this <A HREF="http://olegsych.spaces.live.com/blog/cns!D6CE2A0548083D95!295.entry" REL="nofollow">here</A>Anonymousnoreply@blogger.com