【问题标题】:How do you integrate Websharper with an existing ASP.NET MVC project?如何将 Websharper 与现有的 ASP.NET MVC 项目集成?
【发布时间】:2015-05-15 16:04:06
【问题描述】:

Websharper 网站 has a tutorial 关于将 ASP.NET 与 Websharper 集成,但在某些方面含糊不清。我已经在我的 ASP.NET MVC 项目上安装了 Websharper 包并按照说明的第 1 步进行操作,但我对其余部分感到困惑。

对于第 2 步,我应该在哪里或如何添加我想要集成的 Websharper 应用程序?我是否只需在脚本文件夹中添加 F# 源文件并让它自动生成我需要的 Javascript?还是我让它在一个单独的 Websharper 项目中编译并将生成的 Javascript 添加到 ASP.NET MVC 项目中?

在标题本身中,它特别提到了与 ASPX 页面的集成。这是否意味着这不适用于 Razor 网页,这是 ASP.NET MVC 的默认设置?

【问题讨论】:

    标签: asp.net-mvc websharper


    【解决方案1】:

    在 Razor 页面中插入 WebSharper 控件对于当前发布的 WebSharper 确实并不容易,但我们正在努力帮助实现这一点,这将很快发布。正在进行的工作是可用的here。它依赖于最新的 WebSharper,因此如果您想立即使用它,则需要从源代码构建。

    这是您接下来需要做的(在我们发布 WebSharper.AspNetMvc 之前可能会稍作更改):

    • 从您的 Web 项目中参考 WebSharper、WebSharper.AspNetMvc 和您的 WebSharper 项目。
    • 如果您使用 RPC 和/或 Sitelets:

      • 将相关模块添加到您的 Web.config,如您链接的文档中所示;
      • 添加到您的FilterConfig.RegisterGlobalFilters

        filters.Add(new WebSharper.AspNetMvc.Filter());
        
    • 使用客户端控件:

      • 在您的主剃须刀布局中,在 head 标签内,添加以下内容:

        @WebSharper.AspNetMvc.ScriptManager.Head()
        

        这将包含您的控件所需的 css 和 javascript 标签。

      • 要在视图中插入控件,首先在视图顶部创建它:

        @{
            var myControl = WebSharper.AspNetMvc.ScriptManager.Register(new MyControl());
        }
        

        然后你可以将它插入到视图中,例如:

        <div>
            <h1>My control:</h1>
            @myControl
        </div>
        

        在视图开始渲染之前创建控件很重要,否则ScriptManager.Head() 将已经在没有此控件的依赖项的情况下被渲染。

    【讨论】:

    • 我看到你们发布了用于 aspnetmvc 的 NuGet 包,但我无法得到它,因为“安装包:已经引用了更新版本的 'Microsoft.AspNet.Mvc'。”它也卸载了 aspnetmvc 包。有什么办法解决吗?如果可以的话,我宁愿得到 NuGet 包。
    • 确实,Microsoft.AspNet.Mvc 的版本限制太强了,我们会尽快解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2018-08-08
    • 1970-01-01
    • 2011-12-07
    • 2010-10-31
    相关资源
    最近更新 更多