ASP.NET MVC Framework - en del af ASP.NET 3.5 Extensions

Størrelse: px
Starte visningen fra side:

Download "ASP.NET MVC Framework - en del af ASP.NET 3.5 Extensions"

Transkript

1 ASP.NET MVC Framework - en del af ASP.NET 3.5 Extensions Captator Tlf: Carsten Juel Andersen Softwarearkitekt juel@captator.dk Mobil: februar 2008 ASP.NET MVC Framework 1

2 Agenda MVC overblik Hvorfor?, Hvad?, Hvordan? Fra Controller, over Model til View Sammenhængen mellem Controller, Model og View URL routing Fleksibel og generel URL routing Håndtering af view data Hvordan flyttes data fra Controller til View Redigering af data Håndtering af Form redigering og postbacks februar 2008 ASP.NET MVC Framework 2

3 Disclamer Dette foredrag er (stort set) forældet inden I kommer hjem Dette foredrag bygger på ASP.NET 3.5 Extensions Preview af 9. dec 2007 MVC Toolkit ADO.NET Entity Framework beta 3 Nyt preview i forbindelse med MIX08 ( marts) Efter MIX08 releasen vil der formentlig komme en række CTP er frem mod den endelige release Se Scott Gu s blog (weblogs.asp.net/scottgu) med titlen: ASP.NET MVC Framework Road-Map Update Men mon ikke koncepterne forbliver nogenlunde som de er på nuværende tidspunkt?! februar 2008 ASP.NET MVC Framework 3

4 ASP.NET web forms ASP.NET web forms bygger på en Windows forms - weboplevelse bygger på en form per side bygger på event mekanisme bygger på et kontroltræ, hvor kontroller har navn efter, hvor i træet de er placeret benytter ViewState er i modsætning til traditionel web udvikling, hvor siden ofte vil indeholde en form for hver inputformular på siden De fleste public websites har kun et fåtal af sider, hvor alt dette er nødvendigt Det er svært at skille især kontrol- og user interfacelogik februar 2008 ASP.NET MVC Framework 4

5 MVC framework overblik Mål med Model View Controller frameworket At sikre en klar adskillelse mellem model, view, controller Model Model / entitetsobjekter / forretningsobjekter indeholder applikationens tilstand og persisteres ofte i eksempelvis en database View Ansvarlig for at displaye brugergrænsefladen Controller Håndterer brugerens input, manipulerer modellen og udvælger et view således at den næste side kan vises i brugergrænsefladen februar 2008 ASP.NET MVC Framework 5

6 MVC framework design principper Klar adskillelse af ansvar (model, view, controller) Optimeret for TDD baseret udvikling Test Driven Development (test-først programmering) Extensible / pluggable URL-mapping komponent, der giver mulighed for pæne og gennemskuelige URL er Eksisterende masterpages, web forms og userkontroller kan benyttes som view komponenter Postback-delen af disse kan ikke benyttes! Understøtter derudover alt ikke-ui baseret i ASP.NET Caching, URL autorisering, session handling etc. februar 2008 ASP.NET MVC Framework 6

7 Overblik over MVC demoen Time- og projektregistereringsapplikation Medarbejdere (Employee) kan registrere udførte opgaver (WorkRegistration) på givne projekter (Project) Man kan kun registrere på et givet projekt, hvis man har tilladelse (WorkAllowance) til at arbejde på projektet For hvert projekt er der en diskussionsliste. En medarbejder kan oprette et nyt eller besvare et tidligere indlæg (ProjectDiscussionEntry) februar 2008 ASP.NET MVC Framework 7

8 Overblik over den første MVC demo I første omgang vil vi se på Medarbejderliste Liste over den enkelte medarbejders registreringer Detaljevisning af registrering februar 2008 ASP.NET MVC Framework 8

9 Folderstruktur af ASP.NET MVC Applikation Der er 3 hovedmapper Controllers Som udgangspunkt er der en klasse for hver controller Models En eller flere modeller - f.eks. ved brug af LINQ to SQL eller LINQ to Entities Views Anbefaling: Placer model og modelhjælpeklasser i et selvstændigt projekt Undermapper for hver controller Shared indeholder fælles views februar 2008 ASP.NET MVC Framework 9

10 Eksekveringsrækkefølge Først routes URLen til den matchende controller Controlleren trækker view data ud af modellen Ud fra request parametrene View data sendes til viewet Default.aspx (View) url RegistrationController (Controller) view data Employee.aspx (View) Details.aspx (View) Model februar 2008 ASP.NET MVC Framework 10

11 RegistrationController Controller navn = klassenavn, dog uden Controller Actions er metoder på controllerklassen namespace MvcApplication.Controllers public class RegistrationsController : Controller [ControllerAction] public void Employees() [ControllerAction] public void Employee(string initials) URL = /Registrations/Employee/cja Controller navn = Registrations Action navn = Employees URL = /Registrations/Employees [ControllerAction] public void Details(System.Guid id) URL = /Registrations/Details/fdf2b7e4-0f9b-4c5b-ac37-27d5f3105ab3 februar 2008 ASP.NET MVC Framework 11

12 RegistrationController - parametre En input parameter kan mappes til en variabel i en action metode på forskellig vis [ControllerAction] public void Details() System.Guid id = new System.Guid(Request["id"]); URL = /Registrations/Details?id=fdf2b7e4-0f9b-4c5b-ac37-27d5f3105ab3 [ControllerAction] public void Details(System.Guid id) URL = /Registrations/Details?id=fdf2b7e4-0f9b-4c5b-ac37-27d5f3105ab3 [ControllerAction] public void Details(System.Guid id) URL = /Registrations/Details/fdf2b7e4-0f9b-4c5b-ac37-27d5f3105ab3 februar 2008 ASP.NET MVC Framework 12

13 Modellen Entitetsmodel genereret ud fra databasen februar 2008 ASP.NET MVC Framework 13

14 En komplet action metode Nu kan vi i action metoder hente data fra controlleren sende data videre til et view namespace MvcApplication.Controllers public class RegistrationsController : Controller [ControllerAction] public void Employees() EmployeeList employees = null; Anbefaling: Flyt tilgang til model (inklusive LINQ-queries) til klasser i Model -namespacet using (Model.Context context = new Model.Context()) employees = new EmployeeList(context.Employee.ToList<Employee>()); RenderView("Default", employees); februar 2008 ASP.NET MVC Framework 14

15 Viewet Benyt masterpages,.aspx og.ascx MVC frameworket ligger op til at holde html-koden så simpel som muligt Et view må kun have renderingslogik! Der benyttes følgende superklasser Masterpage.aspx.ascx System.Web.Mvc.ViewMasterPage System.Web.Mvc.ViewPage System.Web.Mvc.ViewUserControl februar 2008 ASP.NET MVC Framework 15

16 Viewet View placeres under Views mappen Opret undermappe for hver controller (samme navn som controlleren) Placer delte filer i Shared Når controller kalder RenderView Vælges view i undermappe med samme navn som controller, findes den ikke her vælges view fra Shared Dette er en out of the box sammenkædning mellem controller og view Det er muligt at plugge sin egen håndtering af dette ind i frameworket februar 2008 ASP.NET MVC Framework 16

17 View Viewet kaldes fra RegistrationsController [ControllerAction] public void Employees()... RenderView("Default", employees); Brug den generiske version af ViewPage til at angive typen for view data og få typestærk adgang der til public partial class Default : ViewPage<EmployeeList> public void Page_Load() ViewData[0]. februar 2008 ASP.NET MVC Framework 17

18 Rendering af viewet 2 forskellige principper for rendering 1. via inline code Fordel: Typestærk adgang til view data Ulempe: Serverside kode og HTML rodet sammen 2. via code behind og ASP.NET kontroller Fordel: Serverside kode og HTML adskilt Ulempe: Databinding er typesvag Referencer til andre sider indsættes via htmlhjælpemetoder, således at der ikke er hardkodede links på siden februar 2008 ASP.NET MVC Framework 18

19 Rendering af View via inline Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"... <asp:content ID="Content2" ContentPlaceHolderID="Main... <ul> foreach (Model1.Employee emp in ViewData) <li> = Html.ActionLink(emp.Firstname + " " + emp.lastname, new Controller = "Registrations", Action = "Employee/" + emp.initials ) </li> </ul> <asp:content> public partial class Default : ViewPage<EmployeeList> februar 2008 ASP.NET MVC Framework 19

20 View output Output er simpel html uden <form> tags Ingen lange WebForms ID er... <div id="maincontent"> <h2>timeregistrering</h2> <h3>ansatte:</h3> <ul> <li><a href="/registrations/employee/pla">peter Lauridsen</a></li> <li><a href="/registrations/employee/esv">erik Svendsen</a></li> <li><a href="/registrations/employee/moj">morten Jensen</a></li> <li><a href="/registrations/employee/hla">henriette Larsen</a></li> <li><a href="/registrations/employee/cja">carsten Juel Andersen</a></li> </ul> </div>... februar 2008 ASP.NET MVC Framework 20

21 Rendering af view via code behind aspx med brug af Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"... <asp:content ID="Content2" ContentPlaceHolderID="Main... <asp:repeater ID="repViewEmployees" runat="server" OnItemDataBound="repViewEmployees_ItemDataBound"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <asp:literal ID="litLink" runat="server" /> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:repeater> </asp:content> februar 2008 ASP.NET MVC Framework 21

22 Rendering af view via code behind... og den tilsvarende codebehind public partial class Default : ViewPage<EmployeeList> public void Page_Load() repviewemployees.datasource = ViewData; repviewemployees.databind(); protected void repviewemployees_itemdatabound( object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) if ((e.item.itemtype == ListItemType.Item) (e.item.itemtype == ListItemType.Item) ) System.Web.UI.WebControls.Literal litlink = (System.Web.UI.WebControls.Literal)FindControl("litLink"); Employee emp = (Employee)e.Item.DataItem; litlink.text = Html.ActionLink( emp.firstname + " " + emp.lastname, new Controller = "Registrations", Action = "Employee/" + emp.initials ); februar 2008 ASP.NET MVC Framework 22

23 Html.ActionLink helper metode HtmlHelper er del af MVCToolkit HtmlHelper kan tilgåes i Views via Html property ActionLink benytter den opsatte routing af controllere og actions til at skabe et link herudfra Eksempler på brug Kald parameterløs action på den kaldende controller Html.ActionLink("linktekst", "actionname"); Kald vilkårlig controller og action evt. med parametre Her benyttes en overload med en anonym klasse Html.ActionLink("linktekst", new Controller = "Registrations", Action = "Employee", Initials = "cja" ); februar 2008 ASP.NET MVC Framework 23

24 Anden MVC demo URL routing MVC indeholder en fleksibel URL routing mekanisme RouteTable (liste af routing regler) opbygges ved applikationens opstart Når et request modtages sendes det gennem routing systemet Hvis der findes et match kaldes den matchende controller, ellers fejler requestet url RouteTable Controller Controller Employee Controller Action Employee Controller Action Employee Controller Action Employee RegistrationController Action Employee Action februar 2008 ASP.NET MVC Framework 24

25 URL routing Default placering for opsætning af routing er i Global.asax.cs public class Global : System.Web.HttpApplication protected void Application_Start(object sender, EventArgs e) RouteTable.Routes.Add(new Route Url = "[controller]/[action]/[id]", Defaults = new action = "Index", id = (string)null, RouteHandler = typeof(mvcroutehandler) ); RouteTable.Routes.Add(new Route Url = "Default.aspx", Defaults = new controller = "Home", action = "Index", id = (string)null, RouteHandler = typeof(mvcroutehandler) ); februar 2008 ASP.NET MVC Framework 25

26 URL routing Url specifikation En Url specifikation kan være en eksakt Url en templated Url eller en kombination Url = "Min/Side" Url = "[controller]/[action]/[id]" Url = "Min/[action]/[controller]" En Route skal kunne fastlægge controller og action ved at [controller] og [action] indgår i URL eller ved at controller og action defineres som Defaults RouteTable.Routes.Add(new Route Url = "Min/Side", Defaults = new controller = "MinController", action = "Side" ), RouteHandler = typeof(mvcroutehandler) ); februar 2008 ASP.NET MVC Framework 26

27 URL routing Url specifikation Templated Url Url = "[controller]/[action]/[id]" "[tekst]" angiver en parameter Ovenstående vil blandt andet matche følgende /Home/Default Hvis der findes en HomeController med en Default action og en default værdi for id der er null /Registration/Employee/20 Hvis der findes en HomeController med en Employee action februar 2008 ASP.NET MVC Framework 27

28 URL routing fra Route til Controller (1) Med følgende Route og Url new Route Url = "[controller]/[action]/[id]", Defaults = new action = "Index", id = (string)null, RouteHandler = typeof(mvcroutehandler) ); /Registration/Employee/20 Vil Route skabe et RouteData objekt public class RouteData public RouteData(); public Route Route get; set; public IDictionary<string, object> Values get; Med en IDictionary indeholdende "Controller" = "Registration" "Action" = "Employee" "Id" = 20 februar 2008 ASP.NET MVC Framework 28

29 URL routing fra Route til Controller (2) RequestContext sendes til en RouteHandler public class RequestContext public RequestContext(IHttpContext httpcontext, RouteData routedata); public IHttpContext HttpContext get; internal set; public RouteData RouteData get; internal set; public interface IRouteHandler IHttpHandler GetHttpHandler(RequestContext requestcontext); MvcRouteHandler kalder den konkrete action i den givne controller public class MvcRouteHandler : IRouteHandler... Routing systemet er fleksibelt og kan benyttes i non-mvc scenarier Implementer blot egen RouteHandler februar 2008 ASP.NET MVC Framework 29

30 URL routing mange parametre Eksempel på brug af adskillige parametre public new Route Url = "Registrations/Employee/[initials]/[year]/[month]/[day]", Defaults = new controller = "Registrations", action = "Employee", year = (int?)null, month = (int?)null, day = (int?)null, RouteHandler = typeof(mvcroutehandler) ); Giver mulighed for at følgende URLer routes /Registrations/Employee/cja - alle registreringer på cja /Registrations/Employee/cja/ alle reg. på cja i 2008 /Registrations/Employee/cja/2007/12 - alle reg. på cja i december 2007 /Registrations/Employee/cja/2008/02/20 - alle reg. på cja i dag til følgende action [ControllerAction] public void Employee(string initials, int? year, int? month, int? day)... februar 2008 ASP.NET MVC Framework 30

31 Url routing validering af parametre De enkelte tokens (parametre) i Url en kan også valideres new Route Url = "Registrations/Employee/[initials]/[year]/[month]/[day]", Defaults = new controller = "Registrations", action = "Employee", year = (int?)null, month = (int?)null, day = (int?)null, Validation = new initials 3,4" RouteHandler = typeof(mvcroutehandler) ); Dette resulterer i at initials skal være 3-4 bogstaver (letters) for, at denne Route kan benyttes februar 2008 ASP.NET MVC Framework 31

32 Url routing udgående url er For at routing reglerne kan være fuldstændigt afkoblede, er det også nødvendigt at kunne oprette links ud fra de samme regler Benyt HtmlHelper instansen til links Html.ActionLink Html.ActionLink("linktekst", new controller = "Home", action = "Default" ); Benyt Controller.RedirectToAction til at redirigere til en anden side RedirectToAction udløser en Response.Redirect RedirectToAction( new controller="home" action="default" ); februar 2008 ASP.NET MVC Framework 32

33 Tredje MVC demo fra controller til view Views må kun bero på de data Controller leverer ViewData overføres fra Controller til View [ControllerAction] public void Employees()... RenderView("Default", employees); Default.aspx (View) url RegistrationController (Controller) view data Employee.aspx (View) Details.aspx (View) Model februar 2008 ASP.NET MVC Framework 33

34 Overførsel af ViewData til viewet Siden med timerregistreringer for ansat skal udvides til også at vise stamoplysninger om ansat februar 2008 ASP.NET MVC Framework 34

35 Typesvag overførsel af ViewData I controlleren kan ViewData tilføjes typesvagt [ControllerAction] public void Employee(string initials, int? year, int? month, int? day) // Her hentes data fra modellen ViewData["Employee"] = employee; ViewData["Registrations"] = registrations; RenderView("Employee"); til følgende view public partial class Employee : Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Navn: = ((Employee)ViewData["Employee"]).Firstname... foreach (Model1.WorkRegistration wr in ((WorkRegistrationList)ViewData["Registrations"]))... februar 2008 ASP.NET MVC Framework 35

36 Typestærk overførsel af ViewData (1) Ved hjælp af et specifikt ViewData-objekt public class EmployeeViewData public Model.Employee Employee get; set; public Model.WorkRegistrationList RegList get; set; kan ViewData tilføjes typestærkt i controlleren [ControllerAction] public void Employee(string initials, int? year, int? month, int? day) // Her hentes data fra modellen RenderView("Employee", new Views.Registrations.EmployeeViewData Employee = employee, RegList = registrations ); februar 2008 ASP.NET MVC Framework 36

37 Typestærk overførsel af ViewData (2) og ved at tilføje ViewData-klassen som typeparameter på viewet public partial class Employee : ViewPage<EmployeeViewData> er der typestærk adgang til Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Navn: = ViewData.Employee.Firstname... <ul> foreach (Model1.WorkRegistration wr in ViewData.RegList) <li> = wr.date.toshortdatestring() : = wr.title - = ConvertToReadableTime(wr.TimespanInMinutes) - = Html.ActionLink("Se detaljer", new Action="Details", Id=wr.WorkRegistrationId ) </li> </ul>... februar 2008 ASP.NET MVC Framework 37

38 Brug af ViewUserControl (1) UserControls kan benyttes til at minimere dubleret kode, når dele af layout/funktionalitet går igen fra side til side (det er der jo ikke noget nyt i) ViewUserControl indsættes på et view nøjagtigt som UserControls indsættes i web Page Language="C#" Register src="employeedetailscontrol.ascx" tagname="employeedetailscontrol" tagprefix="uc1"... <uc1:employeedetailscontrol ID="EmployeeDetailsControl1" ViewDataKey="Employee" runat="server" />... ViewData kan være identisk med sidens eller være en udsnit af de oprindelige ViewData Hvis ViewDataKey property er sat Anbefaling: Gør ViewUserControl typestærk og benyt ViewDataKey februar 2008 ASP.NET MVC Framework 38

39 Brug af ViewUserControl (2) Gør ViewData på ViewUserControl typestærk public partial class EmployeeDetailsControl : ViewUserControl<Employee> således at der er typestærk tilgang til Control Language="C#" CodeBehind="EmployeeDetailsControl.ascx.cs"... Navn: = ViewData.Firstname = ViewData.Lastname... På viewet sikres, at Employee sendes til ViewUserControl ved at sætte ViewDataKey... <uc1:employeedetailscontrol ID="EmployeeDetailsControl1" ViewDataKey="TheEmployee" runat="server" />... "TheEmployee" skal være en property på viewets ViewData af typen Employee februar 2008 ASP.NET MVC Framework 39

40 Fjerde MVC demo forms og post data Opret ny timeregistrering Redigering af eksisterende timeregistreringer februar 2008 ASP.NET MVC Framework 40

41 Forms og post data - eksekveringsfølge En action skaber data - en anden opdaterer data Registrations/DetailEdit RegistrationController Action = DetailsEdit view data DetailsEdit.aspx (View) Model Objekt(er) hentes fra modellen Postback RegistrationController Action = UpdateDetails Objekt(er) der er redigeret hentes fra modellen igen, opdateres herefter ud fra postback data og gemmes igen Model Fortsæt til ny side februar 2008 ASP.NET MVC Framework 41

42 Redigering af eksisterende objekt (1) Først oprettes links til opret og rediger Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" = Html.ActionLink("Opret ny", new Action="DetailsEdit" )... foreach (Model1.WorkRegistration wr in ViewState.RegList)... = Html.ActionLink("Rediger", new Action="DetailsEdit", Id=wr.WorkRegistrationId )... DetailsEdit action [ControllerAction] public void DetailsEdit(System.Guid id) WorkRegistration wr = // Hentes fra modellen RenderView("DetailsEdit", wr); februar 2008 ASP.NET MVC Framework 42

43 Redigering af eksisterende objekt (2) DetailsEdit oprettes med typestærk ViewData public partial class DetailsEdit : ViewPage<WorkRegistration> DetailsEdit Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" form action med URL, der <h2>rediger timeregistrering</h2> peger på UpdateDetails action <form action="/registrations/updatedetails/ " method="post"> = ViewData.WorkRegistrationId Dato: = Html.TextBox("Date", ViewData.Date.ToShortDateString()) <br /> Beskrivelse: = Html.TextBox("Title", ViewData.Title) <br /> <input type="submit" value="gem ændringer" /> </form>... Id en på textboxen skal være have samme navn som propertyen, der redigeres februar 2008 ASP.NET MVC Framework 43

44 Redigering af eksisterende objekt (3)... Html uden ViewState og lange id er <h2>rediger timeregistrering</h2> <form action="/registrations/updatedetails/cb09290e-12f3-4b33-99d3- c98d94c7a49f" method="post"> Dato: <input id="date" name="date" size="20" value=" "><br /> Beskrivelse:<input id="title" name="title" size="20" value="test af MVC framework"><br /> <input type="submit" value="gem ændringer" /> </form>... februar 2008 ASP.NET MVC Framework 44

45 Redigering af eksisterende objekt (4) Update action Form og get-parametre mappes automatisk til input parametre på action [ControllerAction] public void UpdateDetails(System.Guid id, System.DateTime date, int timespaninminutes, string title, string description) WorkRegistration wr; wr = // Hent eksisterende objekt fra modellen wr.date = date.date; wr.timespaninminutes = timespaninminutes; wr.title = title; wr.description = description; // Gem objektet i modellen RedirectToAction("Employees"); februar 2008 ASP.NET MVC Framework 45

46 Populering af dropdowns (1) Vi mangler at håndtere lister så der oprettes en dedikeret ViewData klasse public class WorkRegistrationEditViewData public WorkRegistration Wr get; set; public EmployeeList Employees get; set; public ProjectList Projects get; set; og i controller action en DetailsEdit tilføjes lister [ControllerAction] public void DetailsEdit (System.Guid id) WorkRegistrationEditViewData wredit = new WorkRegistrationEditViewData(); wredit.wr = // Hent WorkRegistration objekt fra modellen wredit.employees = // Hent alle Employees wredit.projects = // Hent alle Projects RenderView("DetailsEdit", wredit); februar 2008 ASP.NET MVC Framework 46

47 Populering af dropdowns (2) Brug af HtmlHelper-metoden Select... <form action="/registrations/updatedetails/ =ViewData.Wr.WorkRegistrationId. ToString() " method="post">... Dato: = Html.TextBox("Date", ViewData.Wr.Date.ToShortDateString()) <br /> Medarbejder: = Html.Select("EmployeeId", ViewData.Employees, (object)viewdata.wr.employee.employeeid.tostring())) <br />... <input type="submit" value="gem ændringer" /> </form>... I den anvendte overload tager Html.Select imod Id Listen, der skal displayes Det valgte elements key februar 2008 ASP.NET MVC Framework 47

48 Tilføj opret funktionalitet (1) Controller action en DetailsEdit tilrettes, så input parameteren id bliver nullable [ControllerAction] public void DetailsEdit (System.Guid? id) WorkRegistrationEditViewData wredit = new WorkRegistrationEditViewData(); if (id.hasvalue) wredit.wr = // Hent WorkRegistration objekt fra modellen wredit.employees = // Hent alle Employees wredit.projects = // Hent alle Projects RenderView("DetailsEdit", wredit); Wr-property på ViewData sættes til null, hvis det drejer sig om oprettelse af ny WorkRegistration februar 2008 ASP.NET MVC Framework 48

49 Tilføj opret funktionalitet (2) For at lette koden i viewets ascx-template oprettes en IsNew property i code behind public partial class DetailsEdit : ViewPage<WorkRegistrationEditViewData> protected bool IsNew; public void Page_Load() IsNew = (ViewData.Wr == null); Udsnit af viewets ascx-template Der sættes tomme strenge ind i input, hvis det er opret: if (IsNew) <h2>opret ny timeregistrering</h2> else <h2>rediger timeregistrering</h2> <form action="/registrations/updatedetails/ = (IsNew)? "" : ViewData.Wr.WorkRegistrationId.ToString() " method="post"> Dato: = Html.TextBox("Date", (IsNew)? "" : ViewData.Wr.Date.ToShortDateString()) <br />... februar 2008 ASP.NET MVC Framework 49

50 Tilføj opret funktionalitet (3) Update action tilrettes, så den kan håndtere opret [ControllerAction] public void UpdateDetails(System.Guid? id, System.DateTime date, int timespaninminutes, string title, string description) WorkRegistration wr; if (id.hasvalue) wr = // Hent eksisterende objekt fra modellen else wr = new Model1.WorkRegistration(); wr.workregistrationid = System.Guid.NewGuid(); wr.date = date.date; wr.timespaninminutes = timespaninminutes; wr.employee = // Hent employee fra modellen ud fra id wr.project = // Hent project fra modellen ud fra id wr.title = title; wr.description = description; // Gem objekt i modellen RedirectToAction("Employees"); februar 2008 ASP.NET MVC Framework 50

51 Simplificer update action anvend UpdateFrom(Request.Form) Mapper form-parametre direkte ind på model objekt [ControllerAction] public void UpdateDetails(System.Guid? id) WorkRegistration wr; if (id.hasvalue) wr = // hent eksisterende objekt fra model else wr = new Model1.WorkRegistration(); wr.workregistrationid = System.Guid.NewGuid(); wr.updatefrom(request.form); // Hack - det ser ikke ud til at referencer håndteres af UpdateFrom // det må være en fejl i den nuværende version wr.employee = // Hent employee ud fra key fra // new System.Guid(Request.Form["employeeId"])); wr.project = // Hent på tilsvarende vis project // Gem objekt i modellen og foretag en redirect... februar 2008 ASP.NET MVC Framework 51

52 ASP.NET MVC Framework MVC Framework er et alternativ til web forms Ikke en afløser! MVC har klare styrker så længe, det drejer sig om visning af data JavaScript, CSS m.v. bliver lettere tilgængelig, når sideopbygning er simplere (simplere ID er m.v.) Den klare opdeling mellem forretningslogik og UI-del Web forms har klart fordele (endnu i hvert tilfælde) når det kommer til redigering og kompleks brugerinteraktion februar 2008 ASP.NET MVC Framework 52

53 Spørgsmål nyheder, artikler, information,... februar 2008 ASP.NET MVC Framework 53

Tjek den nye ASP.NET-platform - ASP.NET Model View Controller (MVC) Framework

Tjek den nye ASP.NET-platform - ASP.NET Model View Controller (MVC) Framework Tjek den nye ASP.NET-platform - ASP.NET Model View Controller (MVC) Framework Foredrag for SAM-DATA marts 2010 Captator Tlf: 8620 4242 www.captator.dk Carsten Juel Andersen Softwarearkitekt juel@captator.dk

Læs mere

Umbraco installationsvejledning

Umbraco installationsvejledning på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er

Læs mere

ASP.NET MVC En Dansk e-bog.

ASP.NET MVC En Dansk e-bog. ASP.NET MVC En Dansk e-bog. Over de sidste mange uger har 4 forskellige personer i det Danske udvikler community forsøgt så godt de kunne, at skrive et eller flere kapitler til en e-bog om et nyt web framework

Læs mere

I chartkontrollen er der så mange muligheder, at vi her blot vil se på nogle ganske enkle.

I chartkontrollen er der så mange muligheder, at vi her blot vil se på nogle ganske enkle. Den indbyggede chartkontrol i framework 4.0 Med denne kontrol kan man oprette meget forskellige diagrammer og måske, vil nogen nok synes, lettere end når man selv skal programmere det hele fra bunden,

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Tech College Aalborg. ASP.NET Hjemmeside. Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio

Tech College Aalborg. ASP.NET Hjemmeside. Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio Tech College Aalborg ASP.NET Hjemmeside Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio Isabella Sihm Ziersen Indhold ASP.Net hjemmeside... 2 Visual Studio... 2 Brug af templates

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Kom i gang med SAS STPbaserede

Kom i gang med SAS STPbaserede make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Spring Schema Extension eller Spring Domain Specific Languages

Spring Schema Extension eller Spring Domain Specific Languages Spring Schema Extension eller Spring Domain Specific Languages Forfatter: Jeppe Cramon Cramon Consulting (http://www.cramon.dk) Dato: 23/7-2005 Efter at have arbejdet med Spring i lang tid, har jeg lagt

Læs mere

Ratingsystem i PHP og MySQL

Ratingsystem i PHP og MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien

Læs mere

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF. Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF. Vejledningen her beskriver hvordan man opbygger en form i HTML og sender indholdet af felterne til JitBesked. Det kræver du

Læs mere

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper.

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper. Dokumentation Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook Moduler Påkrævet : Facebook Integration med sms-grupper Version : v1.00 Indholdsfortegnelse Versionshistorik... 3 Målet med

Læs mere

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5 Registrering af tid Sæson 2 - Lektion 5 Før jul Vi har designet og bygget en model til håndtering af en timeregistrering Vi har kigget på hvordan vi håndterer fejl Vi har kopieret koden over i Bents x-code

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Plotning og MicroStation V8i. Frank Møller Christensen

Plotning og MicroStation V8i. Frank Møller Christensen Plotning og MicroStation V8i Frank Møller Christensen bentleyuser.dk årsmøde 09.11.2009 Plotning og MicroStation V8i Nyheder 27/12/2009 2 Nyheder - Georeferenced PDF - Property Publishing. - Dynamic Plot

Læs mere

ISA Server 2006 Del 5. Jesper Hanno Hansen Jphan@wmdata.dk

ISA Server 2006 Del 5. Jesper Hanno Hansen Jphan@wmdata.dk ISA Server 2006 Del 5 Jesper Hanno Hansen Jphan@wmdata.dk Agenda Overblik over sessionen Konfigurerer RDP publisering Konfigurerer Exchange Access (OWA, RPC http og EAS) Næste Webcast Overblik over sessionen

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Vejledning til Retsinformation web services test stubs

Vejledning til Retsinformation web services test stubs Civilstyrelsen Vejledning til Retsinformation Version:2 2010.02.08 Indholdsfortegnelse 1. Introduktion... 3 2. Installation... 3 3. Web Service beskrivelse og testdata... 3 2010.02.08 2 Side 2 af 5 1.

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5

1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5 INDHOLD 1 Domæne 2 1.1 Design valg.................................... 2 1.1.1 User.................................... 2 2 Klassediagran 5 3 Serbio 7 3.1 Kommunikation..................................

Læs mere

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime 1B fil database using System; //eksterne klasser using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;

Læs mere

My booking. Generelt. Forsiden. Version 9.0

My booking. Generelt. Forsiden. Version 9.0 My booking Version 9.0 System til at lave online bookinger, med mulighed for opdeling i grupper, forskellige booking typer, ændre layout indstillinger, status styring, sprogvalg samt en del mere, detaljer

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Brugervejledning til Design Manager Version 1.02

Brugervejledning til Design Manager Version 1.02 Brugervejledning til Design Manager Version 1.02 Indholdsfortegnelse 1. Introduktion... 3 1.1 Det kan du med HostedShop Design Manager... 3 1.2 Feature list... 3 2. Design... 4 3. Filer og CSS... 4 3.1

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Dokument version: 2.0 ADS version: 1.0 Henvendelse vedrørende affald: Miljøstyrelsen Roskilde, Affaldssekretariatet

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

Introduktion til Indholdsredigering

Introduktion til Indholdsredigering Sitecore Foundry 4.0 Introduktion til Indholdsredigering 18. oktober 2013 - Version 1.2 Pentia A/S Store Kongensgade 66, Baghuset 1264 København K Telefon: 7023 3330 E-mail: info@foreningssite.dk Indholdsfortegnelse

Læs mere

Plugin-arkitektur med.net

Plugin-arkitektur med.net Denne guide er oprindeligt udgivet på Eksperten.dk Plugin-arkitektur med.net Denne artikel viser hvordan du kan lave en plugin-arkitektur i dit program. Gør det muligt for andre at skrive udvidelser til

Læs mere

Ressourcekatalog. Christian Glantz. Kongens Lyngby 2010 IMM-B.Eng-2010-25

Ressourcekatalog. Christian Glantz. Kongens Lyngby 2010 IMM-B.Eng-2010-25 Ressourcekatalog Christian Glantz Kongens Lyngby 2010 IMM-B.Eng-2010-25 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351,

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

Adgang til kundeportalen

Adgang til kundeportalen Til elleverandørerne Adgang til kundeportalen 3. april 2012 XSTJ/LRO Følgende dokument har til formål at orientere elleverandørerne om implementering og testning af den it-funktionalitet, som skal sikre

Læs mere

EasyIQ Opdatering 5.2.3 -> 5.4.0

EasyIQ Opdatering 5.2.3 -> 5.4.0 EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...

Læs mere

Webside score theimblog.net

Webside score theimblog.net Webside score theimblog.net Genereret August 21 2015 02:33 AM Scoren er 53/100 SEO Indhold Titel et Marketing Blog - Great Tips And Advice Længde : 47 Perfekt, din titel indeholder mellem 10 og 70 bogstaver.

Læs mere

Opdatering i tabellen

Opdatering i tabellen Opdatering i tabellen Sæson 2 - Lektion 10 Sidste uge Sidste uge gennemgik jeg hvordan jeg kunne løse opgaven om at tiden i vores model skulle initieres til 0:00, og hvordan i kan huske at eksperimentere

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

Webside score printersupportnu mbercare.blogspot.com

Webside score printersupportnu mbercare.blogspot.com Webside score printersupportnu mbercare.blogspot.com Genereret Juli 22 2019 17:31 PM Scoren er 53/100 SEO Indhold Titel HP Printer Support Phone Number +1-855-924-8222 Længde : 47 Perfekt, din titel indeholder

Læs mere

FMK-online's brug af SmartFraming

FMK-online's brug af SmartFraming Side 1 af 9 FMK-online's brug af SmartFraming Version 1.1 2011-11-01 Side 2 af 9 Indholdsfortegnelse Indledning...3 Initialisering og login...3 Kontekst Properties...4 user.id.authorizationid...4 userorganization.id.number...4

Læs mere

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script. Denne guide er oprindeligt udgivet på Eksperten.dk Register Globals Off Lad os slå en ting fast med det samme - register_globals = Off er en god ting, i hvert fald set ud fra et sikkerhedsmæssigt synspunkt.

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

ADMINISTRATIONS MANUAL

ADMINISTRATIONS MANUAL ADMINISTRATIONS MANUAL onmap.dk Administrations Manual Dansk Version 0.1 Side 1 Denne manual beskrive hvordan en race administrator kan opsætte og bruge onmap.dk race protalen til at lave en specialiseret

Læs mere

A11: Last Year s Exam

A11: Last Year s Exam A11: Last Year s Exam Agenda Design of Site map and Web- structure (3) Design of data model (1) Design of database transactions (2) Construction of HTML and PHP scripts (3) Exercise 3: Design of Site map

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 5 Model View Controller arkitekturen Model View Controller arkitekturen (MVC) Evt.: Rekursion Læsning: VP 19 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Webside score assin.co

Webside score assin.co Webside score assin.co Genereret Juli 18 2019 15:45 PM Scoren er 57/100 SEO Indhold Titel Assin is automated service for your Instagram account promotion Længde : 63 Perfekt, din titel indeholder mellem

Læs mere

Et subsite i Umbraco

Et subsite i Umbraco Et subsite i Umbraco Agenda Hvad er Umbraco Login i CMS Gennemgang af CMS Opret et forløb Workshop Hvad er Umbraco Umbraco er et Dansk Content Management System (CMS). Det benyttes bl.a. Af Wired, Heinz,

Læs mere

Interaktionsudvikling

Interaktionsudvikling Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html

Læs mere

Who s to blame? Jeppe Rørbæk. Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT

Who s to blame? Jeppe Rørbæk. Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Who s to blame? Jeppe Rørbæk Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07 Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Introduktion til ATLAS AJAX Intro / hensigten med ATLAS Hvordan

Læs mere

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. .NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

Webside score bugs.eclipse.org

Webside score bugs.eclipse.org Webside score bugs.eclipse.org Genereret August 06 2016 16:58 PM Scoren er 40/100 SEO Indhold Titel Bugzilla Main Page Længde : 18 Perfekt, din titel indeholder mellem 10 og 70 bogstaver. Beskrivelse Længde

Læs mere

Log ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre

Log ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre Denne guide er oprindeligt udgivet på Eksperten.dk Log ind med PHP Med denne guide lærer du hvordan du kan logge ind på din hjemmeside med PHP. Guiden viser dig hvordan koderne skal opstilles, og hvad

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Systemair Connect. Opsætning

Systemair Connect. Opsætning Systemair Connect Opsætning Opsætning af Systemair Connect Denne vejledning er lavet for at hjælpe dig i gang med opsætningen af Systemair Connect. Du kan bl.a. læse om, hvordan du opbygger en understruktur

Læs mere

2. Systemarkitektur... 2

2. Systemarkitektur... 2 Indholdsfortegnelse 2. Systemarkitektur... 2 2.1 Præsentationsserverarkitektur... 3 2.2 Applikationsserverarkitektur... 7 Version 7.0 Side 1 af 7 5. Systemarkitektur Arkitekturen for Nyt BBR bygger på

Læs mere

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

PROJEKT 3. The Design Diaries. LINK TIL BLOG:  Af Mikkel Borg Svendsen & Sebastian Frank MUL B PROJEKT 3 The Design Diaries LINK TIL BLOG: http://mbsgraphic.dk/blog/ Af Mikkel Borg Svendsen & Sebastian Frank MUL B 1 INDHOLDS- FORTEGNELSE HVEM ER BLOGGERNE? 3 USE CASE 4 ATTRIBUT TABEL 5 PHP CODE

Læs mere

Webside score skillers.tech

Webside score skillers.tech Webside score skillers.tech Genereret Marts 28 2019 16:56 PM Scoren er 55/100 SEO Indhold Titel Skillers - Quality IT Recruiting services Længde : 41 Perfekt, din titel indeholder mellem 10 og 70 bogstaver.

Læs mere

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det?

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? I dag skal du lære at lave hjemmesider, så du også kan bidrage til at opbygge

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

GRAFISK PRODUKTION & WORKFLOW. Endotest website

GRAFISK PRODUKTION & WORKFLOW. Endotest website GRAFISK PRODUKTION & WORKFLOW Endotest website DOKUMENTATION OPGAVEN: Endotest ApS ønskede at redesigne deres hjemmeside, så den fremstår mere professionel og enkel. Derudover skal det nye site præsentere

Læs mere

SWC Elementer i klassedefinition

SWC Elementer i klassedefinition SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...

Læs mere

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks SOSIGW - Administrationskonsol for SOSIGW 1.0.6 Indeks Indeks... 1 Revisionshistorik... 2 Introduktion... 2 Administrationskonsollen... 2 Generel brug af konsollen... 3 Fremsøgning af ID-kort... 3 Søgning

Læs mere

FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)

FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) INDHOLD 1. FORMÅL OG SCOPE... 1 1.1. TEKNOLOGIER OG RAMMEVÆRKER... 1 2. ARKITEKTUR... 2 2.1. KOMBIT.FLIS.PORTAL... 3 2.2. SCRIPTS... 3 2.3. SHAREPOINT

Læs mere

Digitaliseringsstyrelsen

Digitaliseringsstyrelsen Guide Web service sikkerhed Version: 1.a ID: 37294 2012-05-30 Contents 1 INTRODUKTION... 3 INTRODUKTION TIL SIKKERHED... 4 1.1 TILMELDING... 4 AUTENTIFICERING... 7 1.2 REST SERVICE PROVIDERS... 7 1.3 ANDRE

Læs mere

Introduktion til redigeringsfaciliteterne

Introduktion til redigeringsfaciliteterne Sitecore Foundry 3.0 Introduktion til redigeringsfaciliteterne 25. april 2012 - Version 1.2 Pentia A/S Store Kongensgade 66, Baghuset 1264 København K Telefon: 7023 3330 E-mail: info@foreningssite.dk Indholdsfortegnelse

Læs mere

Webside score qbsupportcustomerservice.com

Webside score qbsupportcustomerservice.com Webside score qbsupportcustomerservice.com Genereret Juni 04 2019 09:57 AM Scoren er 69/100 SEO Indhold Titel Quickbooks Customer Service 800-329-0391 QB Phone Number Længde : 58 Perfekt, din titel indeholder

Læs mere

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING 2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING Baggrund Udgangspunktet er projekt 2, dvs. en blog om cupcakes, hvor målgruppe, afsender og modtager allerede er defineret. Du bliver nu bedt om at udvikle et

Læs mere

Byggebasen Javascript

Byggebasen Javascript EG Data Inform Byggebasen Javascript Implementering af ansvarsperioder og produktdata på eget site Jens Karsø 2013 Indhold Byggebasen javascript-plugin til DB12-site... 2 DB12-site kommunikationsmodel...

Læs mere

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard Serversideprogrammering, CMS og eshop Dag 1: Introduktion og serverside programmering Niels Østergaard Dagens program Introduktion til forløbet Begrebet serverside Introduktion til PHP-programmering Tilmelding

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

grafisk workflow OPGAVE: EMBRACE-IT WEBSITE

grafisk workflow OPGAVE: EMBRACE-IT WEBSITE grafisk workflow OPGAVE: EMBRACE-IT WEBSITE BESKRIVELSE GRAFISK WORKFLOW BESKRIVELSE Den tidligere nævnte virksomhed Embrace-IT, forsøger i takt med at virksomhen vokser, at opdatere og optimere deres

Læs mere

Studieordning del 3-2014

Studieordning del 3-2014 Studieordning del 3-2014 Valgfag Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 6 del 3 Valgfag 1. Valgfrie uddannelseselementer...2 2. Valgfaget Android...2 3.

Læs mere

Opstart. I gang med Dreamweaver. Læs mere om...

Opstart. I gang med Dreamweaver. Læs mere om... Generelle bemærkninger Programmet Dreamweaver har været på markedet i nogle år efterhånden. Den seneste version hedder Dreamweaver CS6, og programmet er på engelsk. Dreamweaver er en såkaldt grafisk editor,

Læs mere

Den Danske Esri Brugerkonference 2019 What's new in ArcGIS Enterprise og Administration af ArcGIS Enterprise

Den Danske Esri Brugerkonference 2019 What's new in ArcGIS Enterprise og Administration af ArcGIS Enterprise Den Danske Esri Brugerkonference 2019 What's new in ArcGIS Enterprise og Administration af ArcGIS Enterprise Torben Vidding Willadsen, Geoinfo Agenda Shared instances News! Hvad er ArcGIS Enterprise? (den

Læs mere

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med

Læs mere

Digital Print Room Implementering og tilretning. 11. Sep. 2001 TMC Plot-SIG

Digital Print Room Implementering og tilretning. 11. Sep. 2001 TMC Plot-SIG Digital Print Room Implementering og tilretning 11. Sep. 2001 TMC Plot-SIG Agenda. Priser. Forskellen mellem de 3 versioner. Hardware og software. Sikkerheden og opsætning af rettigheder. Opgradering fra

Læs mere

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

Anvendelse af Model- View koncept i SAS Stored Processer

Anvendelse af Model- View koncept i SAS Stored Processer Anvendelse af Model- View koncept i SAS Stored Processer Peter Sandal Boll Chefkonsulent Professional Services, Skanderborg SAS Institute A/S Agenda Model-View-Controller konceptet (MVC) Eksempel med put-rapport

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

Eksamens spørgsmål Software Construction. Objekter. Spørgsmål 1: Januar Giv en beskrivelse af Objekt-begrebet og deres brug

Eksamens spørgsmål Software Construction. Objekter. Spørgsmål 1: Januar Giv en beskrivelse af Objekt-begrebet og deres brug Spørgsmål 1: Objekter Giv en beskrivelse af Objekt-begrebet og deres brug Under eksaminationen forventes du at forklare: Hvad er en type og en variabel? Hvordan erklæres en variabel? Hvad forstås ved en

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0

vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0 vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0 Indholdsfortegnelse 1 Indledning... 3 2 WMS generelt... 3 3 WFS generelt... 4 4 WMS/WFS eksterne kald i forskellige formater... 4 5

Læs mere

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Indholdsfortegnelse Introduktion... 2 Definitioner... 2 Generelt... 3 Oprettelse af en skabelon... 4 Sidetypeskabeloner... 5 Globale displaymoduler...

Læs mere

Web 2.0. World Wide Web (www)

Web 2.0. World Wide Web (www) Web 2.0 World Wide Web (www) I marts 1989 skrev Tim Berners-Lee et information udveksling program kaldt ENQUIRE. Da han arbejde i CERN, var han ikke tilfreds med kommunikationen, derfor videreudviklede

Læs mere

ITWIN1. Afsluttende projekt. PhotoDays. Benjamin Sørensen (02284) Tomas Stæhr Berg (03539)

ITWIN1. Afsluttende projekt. PhotoDays. Benjamin Sørensen (02284) Tomas Stæhr Berg (03539) ITWIN1 Afsluttende projekt PhotoDays Benjamin Sørensen (02284) Tomas Stæhr Berg (03539) ITWIN1 - AFSLUTTENDE PROJEKT PhotoDays Benjamin Sørensen & Tomas Stæhr Berg 02284 & 03539 1 1 Underskrifter Rapporten

Læs mere