Merge pull request #249 from pcc/xgetinputfocus
[mono.git] / mcs / class / System.Web.Mvc3 / Mvc / Razor / MvcVBRazorCodeGenerator.cs
1 namespace System.Web.Mvc.Razor {
2     using System.CodeDom;
3     using System.Web.Razor;
4     using System.Web.Razor.Generator;
5     using System.Web.Razor.Parser.SyntaxTree;
6
7     public class MvcVBRazorCodeGenerator : VBRazorCodeGenerator {
8         public MvcVBRazorCodeGenerator(string className, string rootNamespaceName, string sourceFileName, RazorEngineHost host)
9             : base(className, rootNamespaceName, sourceFileName, host) {
10         }
11
12         protected override bool TryVisitSpecialSpan(Span span) {
13             return TryVisit<ModelSpan>(span, VisitModelSpan);
14         }
15
16         private void VisitModelSpan(ModelSpan span) {
17             string modelName = span.ModelTypeName;
18             var baseType = new CodeTypeReference(Host.DefaultBaseClass + "(Of " + modelName + ")");
19
20             GeneratedClass.BaseTypes.Clear();
21             GeneratedClass.BaseTypes.Add(baseType);
22
23             if (DesignTimeMode) {
24                 WriteHelperVariable(span.Content, "__modelHelper");
25             }
26         }
27     }
28 }