Domanda

Steve Sanderson ha tenuto presentazioni molto interessanti a Techdays 2012 nei Paesi Bassi. In uno di essi Ha presentato Una libreria che ha usato per la comunicazione client-server nell'applicazione MVC: Upshot.

Sono stato davvero sorpreso quanto fosse facile usarlo, quindi volevo scaricarlo e testarlo. Ho trovato il link per il download qui attraverso Nuget, ma non riesco a trovare alcuna documentazione. Qualcuno ha qualcosa che funziona? Apprezzerei anche il codice di esempio che Steve ha mostrato come durante la presentazione.

MODIFICARE:

Ho trovato la presentazione online a cui ho partecipato a Techdays. Vale la pena vedere così tanto. Avrai un'occhiata a ciò di cui è capace e avrai anche un'idea di come iniziare. Buona fortuna e buon divertimento.

Il link: http://channel9.msdn.com/events/techdays/techdays-2012-the-netherlands/2159

È stato utile?

Soluzione

Ne ho trovato uno che è uno dei campioni MS per le spa (che potrebbe essere l'unico per ora):

ASP.NET Single Page Application (SPA) Bigshelf

Il tutorial completo di questo progetto è disponibile qui: Bighelf

Modificare:

Vedi questo tweet da Steve Sanderson: https://twitter.com/#!/stevensanderson/status/171561402597773312

Stiamo impostando un sito Web per Upshot/Spa in questo momento. Spero che andrà in diretta questa settimana! Scusa il ritardo.

Altri suggerimenti

EDIT: Vedi il post sul blog di Steven qui con codice di download di esempio: http://blog.stevensanderson.com/2012/03/06/single-page-application-packages-and-samples/

Non so come accedere all'helper, mi piacerebbe sapere così posso giocarci :-)

Questo sembra fare il trucco per ora:

<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>

Devi sostituire ClassName: #Namespace con il tuo nome classe e spazio dei nomi, quindi ad esempio "Workitem:#mysystem.models".

E sostituire il controllename con il nome effettivo del controller, nel caso di questo

public class MyTasksController : ApiController 

Dovrai sostituire il controllername con Mytasks

E riempire le cose all'interno dei metadati secondo gli oggetti del tuo modello. Spero che i campioni di codice vengano presto online, perché questo è un sacco di lavoro :-(

Guardando l'esempio Bigshelf, sono alcuni pacchetti extra disponibili che puoi usare.

Non li ho ancora provati da solo, ma dai un'occhiata:

http://nuget.org/packages/upshot

http://nuget.org/packages/singlepagepplication

Penso che il pacchetto spa contenga i metodi di estensione HTML HTML HTML

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top