2011-07-04 76 views
1

任何人都可以將下面的代碼轉換爲Razor,我試過telerik aspx 2tazor,但那不工作。當我使用captcha與aspx的工作,但我不知道如何轉換下面的代碼,使其爲剃刀工作。aspx 2剃鬚刀代碼轉換

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<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> 

回答

2

您試過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> 

而且,我發現了以下引用樂於助人,所以他們可能會幫助你做轉換。