使用razor引擎解析cshtml文件

时间:2015-07-21 07:16:56

标签: asp.net-mvc razor razorengine

我有两个应用程序。其中一个是网络应用程序,另一个是移动应用程序。我试图从Web应用程序解析其中一个视图,并为移动应用程序编译一个html文件。我在Web应用程序中的视图结构如下

  1. App.cshtml
    • partialview1.cshtml
    • partialview2.cshtml
    • ....
  2. 网络应用程序内置于asp.net mvc,我使用Microsoft visual studio cordova构建移动应用程序。

    我有一个单独的项目,它接受App.cshtml并为移动应用程序编译index.html。这是我的App.cshtml文件的结构

    @model Account
    @{
    Layout = "~/Views/Shared/_Layout.cshtml";
    ViewBag.Title = Texts.App;
    }
    
    @section head{
    @Styles.Render("~/Content/css/app")
    }
    
    @section scripts {
    
    @Scripts.Render("~/bundles/moment")
    @Scripts.Render("~/bundles/tippnett/app")
    
    <script>
        var userId = '@Model.Id';
        TippNett.StartApp();
    
    </script>
    
    }
    <div id="appview" class="loading">
    <div id="workspace" class="map_canvas">
        <section class="other-stuff">
            @RenderPage("~/Views/Home/subPagesForApp/_locationWindow.cshtml")
            @RenderPage("~/Views/Home/subPagesForApp/_moveLocationWindow.cshtml")
            @RenderPage("~/Views/Home/subPagesForApp/_orderWindow.cshtml")
            @RenderPage("~/Views/Home/subPagesForApp/_createLocation.cshtml")
            @RenderPage("~/Views/Home/subPagesForApp/_ordersListWindow.cshtml")
            @RenderPage("~/Views/Home/subPagesForApp/_reportAbuse.cshtml")
        </section>
    </div>
    
    <div class="locations-list" data-bind="visible:locationView">
        @RenderPage("~/Views/Home/subPagesForApp/_locationList.cshtml")
    </div>
    
    <div id="loading-wale">
        <div id="loading-info">
            <div>
                <i class="spinner">&nbsp;</i>
            </div>
            <div>@Texts.Loading</div>
        </div>
    </div>
    
    </div>
    <div class="show-for-small" id="stick-menu" data-role="footer">
    <div class="icon-bar three-up ">
        <a class="item active locations" data-bind="click: openLocationView.bind($data,true)">
            <i class="fi-marker"></i>
            <label>@Texts.Location</label>
        </a>
        <a class="item maps" data-bind="click: openMapView.bind($data,true)">
            <i class="fi-map"></i>
            <label>@Texts.Maps</label>
        </a>
        <a class="item notifications" data-bind="click: openOrders.bind($data,true)">
            <i class="fi-list"></i>
            <span class="order-notification-counter notification-counter" data-bind=" text: orders().length,visible: orders().length > 0"></span>
            <span class="matches-notification-counter notification-counter" data-bind=" text: matches().length,visible: matches().length > 0"></span>
            <label>
                @Texts.OrdersLabel
            </label>
        </a>
    </div>
    

    我已经研究过 RazorEngine.Razor.Compile ,但没有运气。我也查看了这个库http://razorengine.codeplex.com/,但无法到达任何地方。

1 个答案:

答案 0 :(得分:0)

cshtml运行服务器端,cordova应用程序运行在移动(客户端)
所以我认为你不能在移动设备上运行mvc,你应该使用一些移动框架 html作为模板,js调用ajax获取数据,并绑定到html模板。