51

Steve Sanderson 在荷兰的 Techdays 2012 上做了一个非常有趣的演讲。在其中一个中,他展示了一个用于 MVC 应用程序中客户端-服务器通信的库:Upshot。

我真的很惊讶它使用起来如此简单,所以我想下载并测试它。我通过 NuGet在此处找到下载链接,但找不到任何文档。有没有人有什么有用的东西?我也很欣赏史蒂夫在演示过程中展示的示例代码。

编辑:

我找到了我在 Techdays 参加的在线演示。太值得一看了 您将大致了解结果的能力,并了解如何开始。祝好运并玩得开心点。

链接:http ://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

4

4 回答 4

16

我发现了一个是 SPA 的 MS 样本之一(这可能是目前唯一的一个):

ASP.NET 单页应用程序 (SPA) BigShelf

这个项目的完整教程可以在这里找到:BigShelf

编辑:

请参阅史蒂夫·桑德森的这条推文:https ://twitter.com/#!/stevensanderson/status/171561402597773312

我们现在正在为 Upshot/SPA 建立一个网站。希望本周能上线!不好意思推迟了。

于 2012-02-19T13:51:54.360 回答
8

编辑:在这里查看 Steven 的博客文章以及示例下载代码:http: //blog.stevensanderson.com/2012/03/06/single-page-application-packages-and-samples/

也不知道如何访问助手,很想知道所以我可以玩它:-)

现在这似乎可以解决问题:

<script src="../../Scripts/knockout-2.0.0.js" type="text/javascript"></script>
<script src="../../Scripts/upshot.js" type="text/javascript"></script>
<script src="../../Scripts/upshot.compat.knockout.js" type="text/javascript"></script>

<script type="text/javascript">

    upshot.metadata({ "CLASSNAME:#NAMESPACE":{ "key": ["aId"],
        "fields": {
            "aId": { "type": "Int32:#System" }, 
            "Title": { "type": "String:#System" },
            "Description": { "type": "String:#System" },
            "Effort": { "type": "Double:#System" }
            }
        }
    });

    var myDataSource = new upshot.RemoteDataSource({
        providerParameters: {
            url: "http://localhost:7018/api/CONTROLLERNAME",
            operationName: "",
            operationParameters: {}
        },
        entityType: "CLASSNAME:#NAMESPACE"
    });
            myDataSource.refresh(function (results) {
                alert(results[0].Title());
            });

</script>

您需要将 CLASSNAME:#NAMESPACE 替换为您的类名和命名空间,例如:“WorkItem:#MySystem.Models”。

并将 CONTROLLERNAME 替换为控制器的实际名称,在这种情况下

public class MyTasksController : ApiController 

您需要将 CONTROLLERNAME 替换为 MyTasks

并根据您的模型对象填充元数据中的内容。我希望代码示例很快上线,因为这是很多工作:-(

于 2012-02-19T18:03:09.017 回答
1

查看 BigShelf 示例,它们是您可以使用的一些额外可用包。

我自己还没有尝试过,但看看:

http://nuget.org/packages/Upshot

http://nuget.org/packages/SinglePageApplication

我认为 SPA 包包含 Upshot 和 Metadata html 辅助扩展方法

于 2012-02-20T15:14:14.800 回答
1

这是演示文稿中的 Delivery Tracker 示例

于 2012-09-18T11:40:05.743 回答