﻿
{"id":998,"date":"2012-11-21T21:10:36","date_gmt":"2012-11-21T21:10:36","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=998"},"modified":"2012-11-21T21:11:20","modified_gmt":"2012-11-21T21:11:20","slug":"asp-net-mvcde-action-metoda-parametre-yazmak","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvcde-action-metoda-parametre-yazmak\/","title":{"rendered":"Asp.NET MVC&#8217;de Action Metoda Parametre Yazmak"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Bir \u00f6nceki, <a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-controlleraction-ve-view-ekleme\/\">Asp.NET MVC Controller,Action ve View Ekleme<\/a> ba\u015fl\u0131kl\u0131 yaz\u0131m\u0131z\u0131n i\u00e7eri\u011finde Controller olu\u015fturmak, bu Controller&#8217;a ba\u011fl\u0131 View katman\u0131nda klas\u00f6r ve bu klas\u00f6r i\u00e7indeki dosyalar ad\u0131nda da Controller&#8217;\u0131m\u0131zda ActionResult tipinde metodlar olu\u015fturmay\u0131 incelemi\u015ftik.Bu yaz\u0131m\u0131zda ise Controller katman\u0131m\u0131zdaki Action metodlarda parametre kullanmay\u0131 inceleyece\u011fiz.<\/p>\n<p>E\u011fer MVC yaz\u0131lar\u0131m\u0131 kronolojik olarak takip ediyorsan\u0131z e\u011fer, bu konuyu \u00f6nceki yaz\u0131lar\u0131mda irdeledi\u011fimizi an\u0131msars\u0131n\u0131z.Burada yeniden de\u011finme iste\u011fimin sebebini sorarsan\u0131z e\u011fer, yukar\u0131da linkini verdi\u011fim bir \u00f6nceki yaz\u0131n\u0131n i\u00e7eri\u011finde olu\u015fturdu\u011fumuz &#8220;TestProje&#8221; ad\u0131nda bir Asp.NET MVC projesi mevcut.Ben bu yaz\u0131m\u0131 ayn\u0131 proje \u00fczerinden \u00f6rneklendirmeye karar verdim.<\/p>\n<p>S\u00f6z konusu, bir \u00f6nceki yaz\u0131m\u0131z\u0131 okuduysan\u0131z e\u011fer, orada Controller,Action ve View olu\u015fturmay\u0131 t\u00fcm teferruat\u0131yla g\u00f6rm\u00fc\u015f bulunmaktay\u0131z.Eee kendi ellerimizle olu\u015fturdu\u011fumuz bu yap\u0131larda birde parametreli Action kullanmay\u0131 g\u00f6stermeyi tercih ediyorum.Maksat peki\u015ftirme olsun.<\/p>\n<p>\u00d6nceki yaz\u0131lar\u0131mdan birinde bu konuya de\u011finmi\u015ftim.Bu yaz\u0131da anlataca\u011f\u0131m\u0131z y\u00f6ntem, yap\u0131 vs. gibi hi\u00e7 bir fark olmad\u0131\u011f\u0131n\u0131 belirtmek isterim.<\/p>\n<p>Konumuza d\u00f6nersek e\u011fer, &#8220;TestProje&#8221; ad\u0131ndaki projemizin son halini bir inceleyelim.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/Controller.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1001\" title=\"Controller\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/Controller.png\" alt=\"\" width=\"227\" height=\"90\" \/><br \/>\n<\/a>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi Yeni(Controller) ad\u0131nda bir Controller&#8217;\u0131m\u0131z mevcut.\u00d6nceki yaz\u0131m\u0131z\u0131 okuduysan\u0131z e\u011fer, bu Controller&#8217;\u0131 bizim olu\u015fturdu\u011fumuzu anlars\u0131n\u0131z.(Tabi, haliyle bu Controller&#8217;\u0131n isminde View katman\u0131nda klas\u00f6r ve bu klas\u00f6r i\u00e7indeki dosyalar isminde Controller&#8217;\u0131m\u0131zda ActionResult tipinden metodlar\u0131m\u0131z\u0131 olu\u015fturmu\u015ftuk.)<\/p>\n<p>\u015eimdi bu YeniController s\u0131n\u0131f\u0131m\u0131z\u0131 a\u00e7al\u0131m ve kodlar\u0131na bir g\u00f6z atal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class YeniController : Controller\r\n    {\r\n        public ActionResult Index()\r\n        {\r\n            return View();\r\n        }\r\n\r\n        public ActionResult Ben()\r\n        {\r\n            return View();\r\n        }\r\n    }\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, i\u00e7inde &#8220;Index&#8221; ve &#8220;Ben&#8221; ad\u0131nda iki tane ActionResult tipinden metodumuz mevcut.(Ben ad\u0131ndaki metodu kendimiz olu\u015fturmu\u015ftuk)<\/p>\n<p>Bu yaz\u0131m\u0131z\u0131n i\u00e7eri\u011fi, elimizle olu\u015fturdu\u011fumuz Controller&#8217;\u0131n herhangi bir Action metodunu parametreli bir bi\u00e7imde kullanmay\u0131 irdelemek oldu\u011fundan dolay\u0131 Global.asax dosyam\u0131z\u0131da inceleyip, &#8220;Ben&#8221; ad\u0131ndaki ActionResult tipinden olan metodumuzu parametreli bir bi\u00e7imde kullanmay\u0131 g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class MvcApplication : System.Web.HttpApplication\r\n    {\r\n        public static void RegisterRoutes(RouteCollection routes)\r\n        {\r\n            routes.IgnoreRoute(&quot;{resource}.axd\/{*pathInfo}&quot;);\r\n            routes.MapRoute(\r\n                &quot;Default&quot;, \/\/ Route name\r\n                &quot;{controller}\/{action}\/{id}&quot;, \/\/ URL with parameters\r\n                new { controller = &quot;Home&quot;, action = &quot;Index&quot;, id = UrlParameter.Optional } \/\/ Parameter defaults\r\n            );\r\n\r\n        }\r\n        protected void Application_Start()\r\n        {\r\n            AreaRegistration.RegisterAllAreas();\r\n            RegisterRoutes(RouteTable.Routes);\r\n        }\r\n    }\r\n<\/pre>\n<p>Global.asax dosyam\u0131zda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, routes parametresinin MapRoute metodundaki URL yap\u0131s\u0131nda Controller ve Action ad\u0131ndan sonra &#8220;id&#8221; ad\u0131nda bir parametre almaktad\u0131r.Demek ki, &#8220;Ben&#8221; ad\u0131ndaki Action metodumuzda parametre ad\u0131m\u0131z &#8220;id&#8221; olmal\u0131d\u0131r.<span style=\"font-size: x-small;\">(Bu konuya <a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-calisma-mekanizmasi-3\/\">Asp.NET MVC \u00c7al\u0131\u015fma Mekanizmas\u0131 &#8211; 2<\/a>\u00a0adl\u0131 yaz\u0131da ayr\u0131nt\u0131l\u0131 bir \u015fekilde de\u011finmi\u015ftim.)<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        public ActionResult Ben(string id)\r\n        {\r\n            ViewData&#x5B;&quot;ParametredenGelenDeger&quot;] = id;\r\n            return View();\r\n        }\r\n<\/pre>\n<p>&#8220;Ben&#8221; ad\u0131ndaki metoda, string tipinde &#8220;id&#8221; isminde bir parametre yazd\u0131k.Bu parametrenin de\u011feri ViewData ile tutularak &#8220;Ben&#8221; adl\u0131 sayfam\u0131zda g\u00f6sterilecektir.Burada ki, \u00f6nemli hususlardan birisi, metodumuzun parametresinin tipi illaki string olmak zorunda de\u011fildir.<\/p>\n<p>E\u011fer View katman\u0131ndaki &#8220;Yeni&#8221; isimli klas\u00f6r\u00fcn alt\u0131ndaki Ben.aspx sayfas\u0131n\u0131n kodlar\u0131n\u0131 a\u015fa\u011f\u0131daki gibi de\u011fi\u015ftirip, projemizi \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra adres \u00e7ubu\u011funa &#8220;<span style=\"font-size: x-small; color: #808000;\"><em>http:\/\/localhost:***\/Yeni\/Ben\/Gen\u00e7ayY\u0131ld\u0131z<\/em><\/span>&#8221; \u015feklinde ifadeyi yazarsak, ekranda parametremizin de\u011ferinin yaz\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6rece\u011fiz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;%@ Page Title=&quot;&quot; Language=&quot;C#&quot; MasterPageFile=&quot;~\/Views\/Shared\/Site.Master&quot; Inherits=&quot;System.Web.Mvc.ViewPage&lt;dynamic&gt;&quot; %&gt;\r\n&lt;asp:Content ID=&quot;Content1&quot; ContentPlaceHolderID=&quot;TitleContent&quot; runat=&quot;server&quot;&gt;\r\n\tBen\r\n&lt;\/asp:Content&gt;\r\n&lt;asp:Content ID=&quot;Content2&quot; ContentPlaceHolderID=&quot;MainContent&quot; runat=&quot;server&quot;&gt;\r\n    &lt;h2&gt;Ben&lt;\/h2&gt;\r\n    &lt;p&gt;\r\n    De\u011fer : &lt;%:ViewData&#x5B;&quot;ParametredenGelenDeger&quot;] %&gt;\r\n    &lt;\/p&gt;\r\n&lt;\/asp:Content&gt;\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/parametre1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1007\" title=\"parametre\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/parametre1.png\" alt=\"\" width=\"431\" height=\"263\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/parametre1.png 431w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/parametre1-300x183.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/a><\/p>\n<p>Bu yaz\u0131m\u0131z\u0131nda sonuna gelmi\u015f olduk.<br \/>\nBir sonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere,<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Bir \u00f6nceki, Asp.NET MVC Controller,Action ve View Ekleme ba\u015fl\u0131kl\u0131 yaz\u0131m\u0131z\u0131n i\u00e7eri\u011finde Controller olu\u015fturmak, bu Controller&#8217;a ba\u011fl\u0131 View katman\u0131nda klas\u00f6r ve bu klas\u00f6r i\u00e7indeki dosyalar ad\u0131nda da Controller&#8217;\u0131m\u0131zda ActionResult tipinde metodlar olu\u015fturmay\u0131 incelemi\u015ftik.Bu yaz\u0131m\u0131zda ise&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[287,746,283],"class_list":["post-998","post","type-post","status-publish","format-standard","hentry","category-asp-net-mvc","tag-action","tag-asp-net-mvc","tag-mvc"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=998"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/998\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}