Редактировать: см. Блог Стивена здесь с примером кода загрузки: 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
и заполнить материалвнутри метаданных в соответствии с объектами вашей модели.Я надеюсь, что примеры кода скоро появятся в сети, потому что это много работы: - (