Где я могу найти примеры и документацию Upshot.js? - PullRequest
51 голосов
/ 19 февраля 2012

Стив Сандерсон выступил с очень интересной презентацией на Techdays 2012 в Нидерландах. В одном из них он представил библиотеку, которую использовал для связи клиент-сервер в приложении MVC: Upshot.

Я был очень удивлен, насколько легко им пользоваться, поэтому я хотел скачать и протестировать его. Я нашел ссылку для скачивания здесь через NuGet , но я не могу найти никакой документации. У кого-нибудь есть что-то, что работает? Я также был бы признателен за пример кода, который Стив показал во время презентации.

EDIT:

Я нашел онлайн-презентацию, которую посетил на Techdays. Это очень стоит посмотреть. Вы получите представление о том, на что способен upshot, а также получите представление о том, с чего начать. Удачи и веселья.

Ссылка: http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

Ответы [ 4 ]

16 голосов
/ 19 февраля 2012

Я нашел один из примеров MS для SPA (который пока может быть единственным):

Одностраничное приложение ASP.NET (SPA) BigShelf

Полное руководство по этому проекту можно найти здесь: BigShelf

Редактировать:

Смотрите этот твит от Стива Сандерсона: https://twitter.com/#!/stevensanderson/status/171561402597773312

Мы сейчас создаем сайт для Upshot / SPA.Надеюсь, выйдет в эфир на этой неделе!Извините за задержку.

8 голосов
/ 19 февраля 2012

Редактировать: см. Блог Стивена здесь с примером кода загрузки: 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

и заполнить материалвнутри метаданных в соответствии с объектами вашей модели.Я надеюсь, что примеры кода скоро появятся в сети, потому что это много работы: - (

1 голос
/ 18 сентября 2012
1 голос
/ 20 февраля 2012

Глядя на пример BigShelf, вы можете использовать несколько дополнительных пакетов.

Я еще не пробовал их сам, но взгляните на:

http://nuget.org/packages/Upshot

http://nuget.org/packages/SinglePageApplication

Я думаю, что пакет SPA содержит методы расширения вспомогательного HTML-кода Upshot и Metadata

...