您試過http://razorconverter.codeplex.com/?
我也一直在研究如何使用aspx轉換現有的網站以獲得Razor視圖,並且此工具已經提供了很多幫助。這不是完美的,它並沒有讓你100%的方式,但它確實幫助你節省時間轉換文件。
我發現的方法幫助我最大限度地利用這個工具創建了兩個asp.net mvc網站......一個使用ASPX,另一個使用Razor ...然後我使用該工具將aspx網站......然後將結果與Razor網站進行比較,這些網站幫助我瞭解了爲了完全切換到Razor需要採取哪些額外步驟。我打算使用這種學習經驗來轉換現有的網站...
我發現這個工具(也許有一種方法可以避免這種情況,我不知道)的一個缺點是,它會創建所有的cshtml文件作爲小寫文件,而不是保留駱駝案件...
另一個缺點是,它似乎離開@(...)圍繞許多行代碼...但它們很容易被刪除。
的一個好處是,這個工具還可以轉換您的Site.Mastor,你便要改名爲_Layout.cshtml
的剃鬚刀轉換爲代碼的結果是:
@model MvcApplication1.Models.CaptchaData
<fieldset>
<legend>Please provide your name and a comment</legend>
<p>
@(Html.XCaptcha().Image(m => m.EncrypedSolution))
</p>
<p>
<label for="Attempt">
Characters above</label>
@(Html.TextBoxFor(cd => cd.Attempt))@(Html.ValidationMessageFor(cd => cd.Attempt))
</p>
@(Html.AntiForgeryToken())
<input type="submit" name="submit" id="submit" value="submit" />
@(Html.ValidationSummary())
</fieldset>
</div>
<script src="../../Scripts/xcaptcha-2.0.js" type="text/javascript"></script>
</body> </html>
另一個我發現有用的工具是WebFormsRazorConverterVsExtension
它利用了Telerik's razor-converter的底層...雖然你說這不是你的工作,當我用它來轉換你的樣本時,它對我來說很好...好吧阿,你應該試試看。
它不轉換的Site.Master ...所以你可能需要使用這兩種工具的組合,讓您的網站轉換......但產量比上面razorconverter清潔...
下面是結果我得到當我使用WebFormsRazorConverterVsExtension:
@model MvcApplication1.Models.CaptchaData
<fieldset>
<legend>Please provide your name and a comment</legend>
<p>
@Html.XCaptcha().Image(m => m.EncrypedSolution)
</p>
<p>
<label for="Attempt">
Characters above</label>
@Html.TextBoxFor(cd => cd.Attempt)@Html.ValidationMessageFor(cd => cd.Attempt)
</p>
@Html.AntiForgeryToken()
<input type="submit" name="submit" id="submit" value="submit" />
@Html.ValidationSummary()
</fieldset>
</div>
<script src="../../Scripts/xcaptcha-2.0.js" type="text/javascript"></script>
</body> </html>
而且,我發現了以下引用樂於助人,所以他們可能會幫助你做轉換。