Где я могу найти примеры и документацию Upshot.js?
Стив Сандерсон дал очень интересные презентации в Techdays 2012 в Нидерландах. В одном из них
он представил библиотеку, которую он использовал для взаимодействия клиент-сервер в приложении MVC: Upshot.
Я был очень удивлен, как легко было использовать его, поэтому я захотел загрузить и протестировать его. Я нашел ссылку для загрузки через NuGet, но я не могу найти никакой документации. У кого-нибудь есть что-то, что работает? Я также был бы признателен за образец кода, который Стив показал как во время презентации.
EDIT:
Я нашел онлайн-презентацию, в которой я присутствовал в Techdays. Это так много стоит посмотреть. Вы получите представление о том, что может сделать, а также получить представление о том, как начать с него. Удачи и получайте удовольствие.
Ссылка: http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
Ответы
Ответ 1
Я нашел тот, который является одним из образцов MS для SPA (который может быть единственным на данный момент):
Одностраничное приложение ASP.NET(SPA) BigShelf
Полный учебник по этому проекту можно найти здесь: BigShelf
Edit:
Смотрите этот твит из Стива Сандерсона: https://twitter.com/#!/stevensanderson/status/171561402597773312
Сейчас мы создаем сайт для Upshot/SPA. Надеюсь, пройдет жить на этой неделе! Извините за задержку.
Ответ 2
Изменить: см. сообщение в блоге Стивена здесь с образцом кода загрузки: 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
И заполнить материал внутри метаданных в соответствии с вашими объектами модели. Я надеюсь, что образцы кода скоро появятся в сети, потому что это очень много работы: - (
Ответ 3
Глядя на пример BigShelf, вы можете использовать несколько дополнительных доступных пакетов.
Я еще не пробовал их самостоятельно, но взгляните на:
http://nuget.org/packages/Upshot
http://nuget.org/packages/SinglePageApplication
Я думаю, что пакет SPA содержит методы расширения html-методов Upshot и Metadatap >
Ответ 4
Вот пример Отчета доставки от презентации