{"id":746571,"date":"2023-10-15T05:52:18","date_gmt":"2023-10-15T11:52:18","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/"},"modified":"2023-10-15T05:52:18","modified_gmt":"2023-10-15T11:52:18","slug":"hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/","title":{"rendered":"Hur man skapar en ASP.NET-webbplats snabbt (En nyb\u00f6rjarguide)"},"content":{"rendered":"<p>ASP.NET \u00e4r en del av .NET-tekniken som anv\u00e4nds f\u00f6r att skriva kraftfulla klient\/server-internetapplikationer.  L\u00e5ter dig skapa dynamiska HTML-sidor.  ASP.NET \u00e4r resultatet av en kombination av \u00e4ldre ASP-teknik (Active Server Pages) och .NET Framework.<\/p>\n<p>Den inneh\u00e5ller m\u00e5nga f\u00e4rdiga kontroller som du kan anv\u00e4nda f\u00f6r att snabbt skapa interaktiva webbplatser.  Du kan ocks\u00e5 anv\u00e4nda de tj\u00e4nster som tillhandah\u00e5lls av andra webbplatser.<\/p>\n<p>Tidigare var ASP.NET-tekniken uppdelad i tv\u00e5 omr\u00e5den: <a target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/web-forms\/\" rel=\"noopener nofollow\">Webbformul\u00e4r<\/a> och <a target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/mvc\/overview\/older-versions-1\/overview\/understanding-models-views-and-controllers-cs\" rel=\"noopener nofollow\">Model-View-Controller (MVC)<\/a>.  Nu har Microsoft-utvecklare tagit bort m\u00e5nga dubbletter av funktioner och l\u00e4mnat kvar en enda <a target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/tutorials\/first-mvc-app\/start-mvc?view=aspnetcore-6.0&amp;tabs=visual-studio\" rel=\"noopener nofollow\">ASP.NET Core MVC-programmeringsmodell<\/a>.<\/p>\n<p>Paradigmet f\u00f6r att skapa MVC-applikationer har tre komponenter: , och .<\/p>\n<p>L\u00e5t oss ta en n\u00e4rmare titt:<\/p>\n<ul>\n<li><strong>Modell<\/strong> Det \u00e4r en applikationskomponent som \u00e4r ansvarig f\u00f6r att interagera med datak\u00e4llan (databas, filsystem).<\/li>\n<li><strong>Se<\/strong> \u2013 den komponent som ansvarar f\u00f6r att visa anv\u00e4ndargr\u00e4nssnittet.<\/li>\n<li><strong>Kontroller<\/strong> \u00e4r en komponent som beskriver applikationslogik, med andra ord logiken f\u00f6r att bearbeta HTTP-f\u00f6rfr\u00e5gningar till en webbapplikation.  Styrenheten interagerar med modellobjekt som p\u00e5verkar vyn.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"ASPNET_Sidlivscykel\"><\/span>ASP.NET Sidlivscykel<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Som en del av denna ASP.Net-artikel kommer vi att titta p\u00e5 sekvensen av stadier av sidbearbetning:<\/p>\n<ol class=\"steps\">\n<li>TILL <strong>sidf\u00f6rfr\u00e5gan intr\u00e4ffar<\/strong> N\u00e4r en sida efterfr\u00e5gas kontrollerar servern om den efterfr\u00e5gas f\u00f6rsta g\u00e5ngen.  Om s\u00e5 \u00e4r fallet skapas sidan, svaret bearbetas och skickas till anv\u00e4ndaren.  Om sidan inte efterfr\u00e5gas f\u00f6r f\u00f6rsta g\u00e5ngen kontrolleras cachen.  Om sidan finns i cachen skickas det sparade svaret till anv\u00e4ndaren.<\/li>\n<li>Startar sidan, i detta skede, den <strong>F\u00f6rfr\u00e5gnings- och svarsobjekten skapas.<\/strong>.  Objektet Request anv\u00e4nds f\u00f6r att lagra information som skickades n\u00e4r sidan beg\u00e4rdes.  Response-objektet anv\u00e4nds f\u00f6r att lagra information som skickas till anv\u00e4ndaren.<\/li>\n<li><strong>Sidinitiering.<\/strong> Det \u00e4r h\u00e4r alla kontroller p\u00e5 webbsidan initieras.<\/li>\n<li><strong>Sidan laddas.<\/strong> Sidan \u00e4r laddad med alla standardv\u00e4rden.<\/li>\n<li><strong>Godk\u00e4nnande.<\/strong> I vissa fall kan validering anges f\u00f6r vissa former.  Du kan till exempel beg\u00e4ra bekr\u00e4ftelse p\u00e5 att ett listobjekt inneh\u00e5ller en specifik upps\u00e4ttning v\u00e4rden.<\/li>\n<li>Om villkoret inte \u00e4r uppfyllt, a <strong>felet ska visas<\/strong> n\u00e4r du laddar sidan.<\/li>\n<li><strong>h\u00e4ndelsebearbetning<\/strong> intr\u00e4ffar om sidan laddas igen.  Detta sker som svar p\u00e5 en tidigare h\u00e4ndelse.  Om anv\u00e4ndaren klickar p\u00e5 knappen Skicka p\u00e5 sidan visas samma sida igen.  Den upprepade h\u00e4ndelsehanteraren anropas sedan.<\/li>\n<li>Sidrendering sker innan svaret skickas till anv\u00e4ndaren.  All information om formul\u00e4ret sparas och resultatet skickas till anv\u00e4ndaren i form av en komplett webbsida.<\/li>\n<li><strong>Ladda ner<\/strong>.  N\u00e4r sidan v\u00e4l har skickats till anv\u00e4ndaren finns det inte l\u00e4ngre n\u00e5got behov av att lagra webbformul\u00e4robjekten i minnet.  D\u00e4rf\u00f6r inneb\u00e4r avlastningsprocessen att alla on\u00f6diga objekt tas bort fr\u00e5n minnet.<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"Projektets_interna_struktur\"><\/span>Projektets interna struktur.<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Efter skapandet har projektet till en b\u00f6rjan redan tre standardsidor: , och .<\/p>\n<p>Varje sida best\u00e5r av tre filer:<\/p>\n<ul>\n<li>Page.aspx \u2013 Inneh\u00e5ller HTML-uppm\u00e4rkningen f\u00f6r en specifik sida;<\/li>\n<li>Page.aspx.cs &#8211; ansvarig f\u00f6r logiken f\u00f6r en specifik sida;<\/li>\n<li>Page.aspx.designer.cs \u2013 Bryggan mellan Page.aspx och Page.aspx.cs.<\/li>\n<\/ul>\n<p>Koden f\u00f6r filen About.aspx:<\/p>\n<pre name=\"code\" class=\"html\">\r\n&lt;%@ Page Title=\"About\" Language=\"C#\" MasterPageFile=\"~\/Site.Master\" AutoEventWireup=\"true\" \r\nCodeBehind=\"About.aspx.cs\" Inherits=\"TutWebApplication.About\" %&gt;\r\n&lt;asp:Content ID=\"BodyContent\" ContentPlaceHolderID=\"MainContent\" runat=\"server\"&gt;\r\n&lt;h2&gt;&lt;%: Title %&gt;.&lt;\/h2&gt;\r\n&lt;h3&gt;Your application description page.&lt;\/h3&gt;\r\n&lt;p&gt;Use this area to provide additional information.&lt;\/p&gt;\r\n&lt;\/asp:Content&gt;\r\n<\/pre>\n<p>About.aspx inneh\u00e5ller bara ett fragment av den f\u00e4rdiga sidan.  Huvuddelen finns i filen Site.Master eller Site.Mobile.Master.<\/p>\n<figure class=\"is-mega\" data-lazy=\"\"><\/figure>\n<p>F\u00f6r att testa och k\u00f6ra projektet, tryck p\u00e5 IIS Express eller den traditionella F5-tangenten.<\/p>\n<p>Efter det kommer alla filer att kompileras och webbplatsen \u00f6ppnas i standardwebbl\u00e4saren (portnumret kan skilja sig).<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Hur_man_skapar_en_sida_i_ASPNET_webbformular\"><\/span>Hur man skapar en sida i ASP.NET webbformul\u00e4r<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Best\u00e4m f\u00f6rst i vilken katalog du ska skapa sidorna.  Alla filer som finns i en katalog betraktas som ett enda projekt.  Starta den utvecklingsmilj\u00f6 du v\u00e4ljer.<\/p>\n<p>V\u00e4lj <strong>Arkiv-Ny-Webbplats<\/strong> menyalternativ.  En dialogruta visas.  Ge det ett projektnamn och v\u00e4lj programmeringsspr\u00e5ket C#.<\/p>\n<p>Som standard skapas projektet i filsystemet.  Alternativt kan du skapa den p\u00e5 en HTTP- eller FTP-server.  Du kan ocks\u00e5 alltid kopiera ett projekt fr\u00e5n filsystemet till servern genom att helt enkelt klicka p\u00e5 knappen &#8220;<strong>&#8220;L\u00f6sningsutforskare&#8221;<\/strong>.<\/p>\n<p>F\u00f6r att skapa andra sidor, h\u00f6gerklicka p\u00e5 projektnamnet och v\u00e4lj L\u00e4gg till -> Webbformul\u00e4r fr\u00e5n snabbmenyn (du kan ta ett annat namn f\u00f6r webbformul\u00e4ret, i det h\u00e4r fallet ett nytt formul\u00e4r som heter &#8220;Nyheter&#8221;):<\/p>\n<p>En sida kommer att skapas med f\u00f6ljande kod:<\/p>\n<pre name=\"code\" class=\"html\">\r\n&lt;%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"News.aspx.cs\" Inherits=\"WebFormsApp1.News\" %&gt;\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html xmlns=\"https:\/\/www.w3.org\/1999\/xhtml\"&gt;\r\n\t&lt;head runat=\"server\"&gt;\r\n\t\t&lt;title&gt;News&lt;\/title&gt; \/\/ Add the title of the page\r\n\t&lt;\/head&gt;\r\n\t&lt;body&gt;\r\n\t\t&lt;form id=\"news\" runat=\"server\"&gt; \r\n\t\t\t&lt;div&gt;\r\n\t\t\t\tSome information\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/form&gt;\r\n\t&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>L\u00e5t oss ta en titt p\u00e5 den h\u00e4r sidan.  .  Etiketten\n<\/p>\n<p>Dess spr\u00e5kattribut \u00e4r en indikation p\u00e5 att skripten p\u00e5 den h\u00e4r sidan kommer att anv\u00e4nda programmeringsspr\u00e5ket C#.  CodeFile \u00e4r namnet p\u00e5 filen bakom koden.  Inherit \u00e4r en klass definierad i den h\u00e4r filen fr\u00e5n vilken sidklassen \u00e4rvs.<\/p>\n<p>Den h\u00e4r sidan har ingen tagg, s\u00e5 filmallen Site.Master kommer inte att visas.  F\u00f6r att \u00e4ndra detta kan du kopiera koden fr\u00e5n About.aspx.<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Hur_man_infogar_HTML-kod_pa_en_sida\"><\/span>Hur man infogar HTML-kod p\u00e5 en sida<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>F\u00f6r att skicka en str\u00e4ng tillsammans med en tagg till HTML-koden b\u00f6r du inte anv\u00e4nda den vanliga str\u00e4ngtypen, utan HtmlString:<\/p>\n<pre name=\"code\" class=\"javascript\">\r\nHtmlString PageContent = new HtmlString(\"&lt;p&gt;Something!&lt;\/p&gt;\");\r\n<\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Hur_man_lagger_till_en_lank_till_menyn\"><\/span>Hur man l\u00e4gger till en l\u00e4nk till menyn<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Menyn finns i Site.Master:<\/p>\n<pre name=\"code\" class=\"html\">\r\n&lt;ul class=\"nav navbar-nav\"&gt;\r\n\t&lt;li&gt;&lt;a runat=\"server\" href=\"https:\/\/www.hongkiat.com\/blog\/create-aspnet-for-beginners\/~\/\"&gt;Home&lt;\/a&gt;&lt;\/li&gt;\r\n\t&lt;li&gt;&lt;a runat=\"server\" href=\"~\/About\"&gt;About&lt;\/a&gt;&lt;\/li&gt;\r\n\t&lt;li&gt;&lt;a runat=\"server\" href=\"~\/Contact\"&gt;Contact&lt;\/a&gt;&lt;\/li&gt;\r\n\t&lt;li&gt;&lt;a runat=\"server\" href=\"~\/News\"&gt;News&lt;\/a&gt;&lt;\/li&gt;\r\n\t\/\/ adding link to menu\r\n&lt;\/ul&gt;\r\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Slutsats\"><\/span>Slutsats<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>I den h\u00e4r artikeln har vi behandlat: skapa en ASP.NET-webbplats, skapa en ny sida, l\u00e4gga till en l\u00e4nk till sidan i menyn, etc.  F\u00f6r mer information om ASP.NET, kan du h\u00e4nvisa till dess <a target=\"_blank\" href=\"https:\/\/dotnet.microsoft.com\/learn\/aspnet\" rel=\"noopener nofollow\">officiell dokumentation.<\/a><\/p>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#ASPNET_Sidlivscykel\" >ASP.NET Sidlivscykel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#Projektets_interna_struktur\" >Projektets interna struktur.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#Hur_man_skapar_en_sida_i_ASPNET_webbformular\" >Hur man skapar en sida i ASP.NET webbformul\u00e4r<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#Hur_man_infogar_HTML-kod_pa_en_sida\" >Hur man infogar HTML-kod p\u00e5 en sida<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#Hur_man_lagger_till_en_lank_till_menyn\" >Hur man l\u00e4gger till en l\u00e4nk till menyn<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/hur-man-skapar-en-asp-net-webbplats-snabbt-en-nyborjarguide\/#Slutsats\" >Slutsats<\/a><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>ASP.NET \u00e4r en del av .NET-tekniken som anv\u00e4nds f\u00f6r att skriva kraftfulla klient\/server-internetapplikationer. L\u00e5ter dig skapa dynamiska HTML-sidor. ASP.NET \u00e4r resultatet av en kombination av \u00e4ldre ASP-teknik (Active Server Pages) och .NET Framework. Den inneh\u00e5ller m\u00e5nga f\u00e4rdiga kontroller som du kan anv\u00e4nda f\u00f6r att snabbt skapa interaktiva webbplatser. Du kan ocks\u00e5 anv\u00e4nda de tj\u00e4nster som [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":746572,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/blogging-techies.com\/wp-content\/uploads\/2023\/06\/28.png","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-746571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/746571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=746571"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/746571\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/746572"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=746571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=746571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=746571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}