// GET: Test1/Index2 // Syftet är att se hur olika url:er leder till olika actions

Relevanta dokument
Asp.net mvc intro PER KVARNBRINK,

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

MVC med Javascript och Ajax. Filip Ekberg

Övning MS SQL och MVC del 2

public DataSet GenerateDataSet(SqlCommand dbcommand, String tablename, out String errormsg) { errormsg = "";

MVC med Javascript och Ajax. Filip Ekberg

Övning Dictionary. Övning 1. Steg 1: På din virtuella maskin, starta Visual Studio.

MVC med Javascript och Ajax. Filip Ekberg

Räkna med ASP.NET MVC 3

MVC med Javascript och Ajax. Filip Ekberg

A/B-testning av mikrotransaktioner

Grundläggande programmering med C# 7,5 högskolepoäng

MVC med Javascript och Ajax. Filip Ekberg

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Lab 6: ASP.NET 2.0 Providermodellen

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

ASP.NET Thomas Mejtoft

Language Integrated Query, LINQ, och databaser

Karlstads Universitet, Datavetenskap 1

LUPP API. ett API för 3:e-partsleverantörer från LUPP 6.0. Insamling av önskemål

Programmering i C++ EDA623 Något om C# EDA623 (Föreläsning 14) HT / 17

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Lathund - Redigera innehåll på Comfort Audios webbplats. 1. Logga in i WordPress Ändra/lägg till användare Lägga till nya sidor...

Storskalig multi-touch

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

OOP Objekt-orienterad programmering

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Webbtjänster med API er

Generiska konstruktioner. Kursbokens kapitel 13

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Riktiga Vykort Partner App Teknisk beskrivning

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

Properties. Användbara metoder som kan anropas i propertychanged:

MVC med Javascript och Ajax. Filip Ekberg

JAVASCRIPT. Beteende

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

OOP Omtenta

Arv. Objektorienterad och komponentbaserad programmering

Dugga Datastrukturer (DAT036)

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

MVC-mönstret. model-view-control i Swing

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Alla rättigheter till materialet reserverade Easec

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

INTRODUKTION TILL ANGULAR JS

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

TDIU01 - Programmering i C++, grundkurs

F06 A table form Dagens agenda

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

Förstå grunderna i LINQ. Mål med lektionen!

LÖSNINGSFÖRSLAG

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp

Arv Murach s: kap 14

TENTAMEN OOP

RADIX. En administrativ webbapplikation för VACS. RADIX An administrative web application for VACS. Benjamin Memic Adam Payne

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Viva la evolución. Peter Backlund

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

JS & beteende. TNMK30 - Elektronisk publicering

Retrieve a set of frequently asked questions about digital loans and their answers

En integration av betalningssystem på hemsida

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Chapter 4: Writing Classes/ Att skriva egna klasser.

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4

Föreläsning 2. Länkad lista och iterator

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Lösningar till tentamen i EDAF25

Polymorfi. Objektorienterad och komponentbaserad programmering

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Arrayer med primitiva datatyper

Dokumentation. Ver Sida 1

SAS USER FORUM SWEDEN 2017 USER FORUM. SAS Viya och öppenhet en gemomgång av LUA-, Java-, Python- och REST-gränssnitten mot SAS Viya

Transkript:

Test1Controller.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Mvc.Ajax; using System.Net; using Newtonsoft.Json; using System.Threading.Tasks; using System.Text; using System.IO; using System.Net.Http; using System.Net.Http.Headers; using Internkurs1_controller.Models; namespace Internkurs1_controller.Controllers public class Test1Controller : Controller // När detta görs som film startar projektet utan vyer för denna kontroller // Brytpunkter läggs in för att visa hur breakpoints fungerar då man debuggar // GET: Test1 eller Test1/Index public ActionResult Index() // GET: Test1/Index2 // Syftet är att se hur olika url:er leder till olika actions public ActionResult Index2() // GET: Test1/IndexMedEnUser // Syftet är att använda en vymodell User och att använda denna starkt typning i vyn där vymodellen anges med @model public ActionResult SidaMedEnUser() User my_user = new User(); my_user.name = "Rolle"; my_user.id = 1; return View(my_user); // GET: Test1/Index2MedParam eller Test1/Index2MedParam/8 eller Test1/Index2MedParam?id=8 // Syftet är att ta in en parameter via url:en. Det kan ske på två sätt med standardroutingen. // Ett annat syfte är att skicka data med en ViewBag. (Det finns även ViewData) public ActionResult SidaMedParametrar(int? id) if (id == null) ViewBag.något = "Det kom ingen parameter som heter id."; int i = 0; string m = id.tostring() + ", ";

while (i < id) m += "Rolle, " ; i++; ViewBag.något = m; // GET: Test1/Index2MedParam2 eller Test1/Index2MedParam2/8 eller Test1/Index2MedParam2?id=8 // Syftet är att införa en lista och visa @model och @foreach i vyn public ActionResult SidaMedParametrarOchLista(int? id) List<string> m = new List<string>(); if (id == null) m.add("det kom inget id."); int i = 0; m.add(id.tostring()); while (i < id) m.add(",olle"); i++; // GET: Test1/IndexMedUser eller Test1/IndexMedUser/8 eller Test1/IndexMedUser?id=8 // Syftet är att använda en vymodell User och att använda denna starkt typning i vyn där vymodellen anges med @model public ActionResult ListaMedUsers(int? id) List<User> m = new List<User>(); if (id == null) User my_user = new User(); my_user.name = "Rolle"; my_user.id = 1; m.add(my_user); User my_user2 = new User(); my_user2.name = "Kicki"; my_user2.id = Convert.ToInt16(id); m.add(my_user2); //Get // Här gör vi ett formulär public ActionResult NewUser() //Post

//Här tar vi emot en user //och binder data till modellen [HttpPost] [ValidateAntiForgeryToken] public ActionResult NewUser([Bind(Include = "Id,Name")] User user) if (ModelState.IsValid) //fixa kod för att spara en user string s = user.name; int i = user.id; return RedirectToAction("ShowUser",user); //om inte datat passar en user så ladda om formuläret return View(user); public ActionResult ShowUser(Internkurs1_controller.Models.User user) return View(user); public ActionResult TinyMce() Index.cshtml @ ViewBag.Title = "Index"; <h2>index</h2> Index2.cshtml @ ViewBag.Title = "Index2"; <h2>index2</h2> Sidamedenuser.cshtml @model Internkurs1_controller.Models.User @ ViewBag.Title = "ShowUser"; Layout = "~/Views/Shared/_Layout.cshtml"; <div> <h2>showuser</h2> <p>@model.name</p> <p>@model.id</p>

User.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Internkurs1_controller.Models /// <summary> /// En user-klass osm används som en vymodell i detta projekt /// En vymodell används för att stark typning mellan controller och vy /// Den har inga attribut, vilket också är nytt i c# /// </summary> public class User public User() Name = "Default"; Id = -1; public string Name get; set; public int Id get; set; SidaMedParametrar.cshtml @ ViewBag.Title = "SidaMedParametrar"; <h2>sidamedparametrar</h2> @ViewBag.något SidaMedParametrarOchLista.cshtml @model List<string> @ ViewBag.Title = "SidaMedParametrarOchLista"; <h1>sidamedparametrarochlista</h1> <table> @foreach (var item in Model) <tr> <td>@item</td> </tr> </table> @model List<Internkurs1_controller.Models.User> @ ViewBag.Title = "ListaMedUsers";

ListaMedUsers.schtml <h2>listamedusers</h2> <table> @foreach (var item in Model) <tr> <td>@item.name</td> <td>@item.id</td> </tr> </table> <ul> @foreach (var item in Model) for (int i = 0; i < item.id; i++) <li>@html.displayfor(modelitem => item.name)</li> <li>@html.displayfor(modelitem => item.id)</li> </ul> @Html.ActionLink("Start", "Index", "Test1") NewUser.cshtml @model Internkurs1_controller.Models.User @ ViewBag.Title = "NewUser"; @using (Html.BeginForm()) @Html.AntiForgeryToken() <div class="form-horizontal"> <h2>newuser</h2> <hr /> @Html.ValidationSummary(true, "", new @class = "text-danger" ) <div class="form-group"> @Html.LabelFor(model => model.name, htmlattributes: new @class = "control-label col-md-2" ) <div class="col-md-10"> @Html.EditorFor(model => model.name, new htmlattributes = new @class = "form-control" ) @Html.ValidationMessageFor(model => model.name, "", new @class = "text-danger" ) <div class="form-group"> @Html.LabelFor(model => model.id, htmlattributes: new @class = "controllabel col-md-2" ) <div class="col-md-10"> @Html.EditorFor(model => model.id, new htmlattributes = new @class = "form-control" ) @Html.ValidationMessageFor(model => model.id, "", new @class = "text-danger" )

<div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="spara" class="btn btn-default" /> <div> @Html.ActionLink("Back to List", "Index") @section Scripts @Scripts.Render("~/bundles/jqueryval") ShowUser.cshtml @model Internkurs1_controller.Models.User @ ViewBag.Title = "ShowUser"; Layout = "~/Views/Shared/_Layout.cshtml"; <div> <h2>showuser</h2> <p>@model.name</p> <p>@model.id</p>