﻿
{"id":1011,"date":"2012-11-22T21:57:08","date_gmt":"2012-11-22T21:57:08","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=1011"},"modified":"2019-02-08T21:21:59","modified_gmt":"2019-02-08T21:21:59","slug":"mvc-html-actionlink-metodu","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/mvc-html-actionlink-metodu\/","title":{"rendered":"MVC Html.ActionLink Metodu"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>HtmlHelper tipinden olan Html.ActionLink medotu sayesinde &#8220;&lt;a href=&#8230;&gt;&#8221; html tag\u0131nda bir link yap\u0131s\u0131 olu\u015fturabiliyoruz.<\/p>\n<p>\u00d6rnek olarak Visual Studio ortam\u0131nda bo\u015f bir MVC projesi olu\u015ftural\u0131m.Olu\u015fturdu\u011fumuz bu projenin Solution Explorer penceresinden, View katman\u0131ndaki Shared isimli klas\u00f6r\u00fcn alt\u0131na Sablon.master ad\u0131nda bir MasterPage ekleyelim.<\/p>\n<p>Ekledi\u011fimiz bu Sablon.master isimli MasterPage sayfam\u0131za sadece Html.ActionLink metodu ile linkler ekleyece\u011fiz.Tabi bu olu\u015fturaca\u011f\u0131m\u0131z linkler projemizde olu\u015fturaca\u011f\u0131m\u0131z herhangi isimdeki sayfalara y\u00f6nlendirilecekler.<\/p>\n<p>Bu sayfalar\u0131 olu\u015fturmak i\u00e7in Controller katman\u0131m\u0131zda bir Controller olu\u015fturmal\u0131, bu olu\u015fturulan Controller ad\u0131nda View katman\u0131nda klas\u00f6r olu\u015fturulmal\u0131 ve bu klas\u00f6r alt\u0131ndaki dosya isimlerinde Controller&#8217;\u0131m\u0131zda ActionResult tipinden metodlar olu\u015fturmal\u0131y\u0131z.Yani uzun laf\u0131n k\u0131sas\u0131 MVC taban\u0131nda sayfalar \u00fcretece\u011fiz.<\/p>\n<p>Ben &#8220;Sayfam(Controller)&#8221; ad\u0131nda bir Controller s\u0131n\u0131f\u0131 olu\u015fturuyorum ve View katman\u0131nda &#8220;Sayfam&#8221; ad\u0131nda klas\u00f6r\u00fcm\u00fc olu\u015fturuyorum.Controller s\u0131n\u0131f\u0131ma &#8220;Index&#8221; varsay\u0131lan metodu d\u0131\u015f\u0131nda &#8220;Sayfa1&#8243; metodunu ekliyorum ve View katman\u0131nda gerekli klas\u00f6r i\u00e7ine Sayfa1.aspx dosyas\u0131n\u0131 olu\u015fturuyorum.<\/p>\n<p>Solution Explorer penceremizin son hali yukar\u0131daki g\u00f6r\u00fcnt\u00fcdeki gibidir.&#8221;Sayfam(Controller)&#8221; Controller s\u0131n\u0131f\u0131m\u0131z\u0131n kodlar\u0131na bakarcak olursak e\u011fer..<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class SayfamController : Controller\r\n    {\r\n        public ActionResult Index()\r\n        {\r\n            return View();\r\n        }\r\n        public ActionResult Sayfa1()\r\n        {\r\n            return View();\r\n        }\r\n    }\r\n<\/pre>\n<p>\u015eimdi Html.ActionLink metodumuz ile Sablon.Master sayfam\u0131zda Index ve Sayfa1 actionlar\u0131n\u0131n linklerini olu\u015ftural\u0131m.<\/p>\n<p>Shared klas\u00f6r\u00fcne sa\u011f t\u0131klayarak, MVC User Control se\u00e7ip, &#8220;Linkler.ascx&#8221; ad\u0131nda projemize ekliyorum.Bu User Control&#8217;\u00fc Sablon.Master sayfam\u0131z\u0131n herhangi bir yerine s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p>Linkler.ascx sayfas\u0131na gelip, Html.ActionLink metodumuzu kullan\u0131yoruz.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/ActionLink.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1013\" title=\"ActionLink\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/ActionLink.png\" alt=\"\" width=\"724\" height=\"93\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/ActionLink.png 724w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/11\/ActionLink-300x38.png 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/a><br \/>\nYukar\u0131daki resimde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, Html.ActionLink metodumuzun 4. overload metodunu incelersek e\u011fer, linkin ad\u0131n\u0131, Action metodunun ismini ve hangi Controller&#8217;da oldu\u011funu soruyor.E\u011fer bu metoda gerekli bilgileri a\u015fa\u011f\u0131daki gibi verirsek, nas\u0131l bir URL yap\u0131s\u0131 olu\u015fturdu\u011funu g\u00f6rece\u011fiz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ Olu\u015fturdu\u011fu URL yap\u0131s\u0131 : http:\/\/localhost:****\/Sayfam\/Sayfa1\r\n<\/pre>\n<p>Son olarak, Html.ActionLink metodunda parametreli link nas\u0131l olu\u015fturabiliyoruz inceleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n<\/pre>\n<p>Bu yap\u0131n\u0131n \u00f6rnek g\u00f6sterimini, Sayfa1 isminde ki sayfam\u0131zda uygularsak e\u011fer a\u015fa\u011f\u0131daki gibi bir parametrik URL yap\u0131s\u0131 \u00e7\u0131kacakt\u0131r.<br \/>\n<strong><span style=\"color: #ff6600;\"><em>http:\/\/localhost:****\/Sayfam\/Sayfa1\/2<\/em><\/span><\/strong><strong><span style=\"color: #ff6600;\"><em>\u00a0<\/em><\/span><\/strong><\/p>\n<p>Sevgili okurlar\u0131m.Bu yaz\u0131n\u0131n sonunda bir \u00f6zele\u015ftiri yapma hakk\u0131m\u0131n oldu\u011funu d\u00fc\u015f\u00fcn\u00fcyorum.Bu seferki yaz\u0131 karma\u015f\u0131k bir anlat\u0131ma sahip oldu\u011funun bende fark\u0131nday\u0131m.Konuyu \u00e7ok da\u011f\u0131tmadan direkt metod hakk\u0131nda bilgi ve kullan\u0131\u015f bi\u00e7imiyle ilgili pratik yollar\u0131 versem yeterli olacakt\u0131 san\u0131r\u0131m.Di\u011fer yaz\u0131lardaki gibi ayr\u0131nt\u0131ya ka\u00e7ma gere\u011fi bu konuda \u00e7ok duyulmad\u0131\u011f\u0131n\u0131n fark\u0131nday\u0131m.Bu seferlik bu karma\u015f\u0131k ve gereksiz uzat\u0131lm\u0131\u015f yaz\u0131mdan dolay\u0131 aff\u0131n\u0131za s\u0131\u011f\u0131narak, faydalanman\u0131z\u0131 diliyorum.<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar \u00a0\ud83d\ude42<\/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>HtmlHelper tipinden olan Html.ActionLink medotu sayesinde &#8220;&lt;a href=&#8230;&gt;&#8221; html tag\u0131nda bir link yap\u0131s\u0131 olu\u015fturabiliyoruz. \u00d6rnek olarak Visual Studio ortam\u0131nda bo\u015f bir MVC projesi olu\u015ftural\u0131m.Olu\u015fturdu\u011fumuz bu projenin Solution Explorer penceresinden, View katman\u0131ndaki Shared isimli klas\u00f6r\u00fcn&#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":[288,746,289,290,283],"class_list":["post-1011","post","type-post","status-publish","format-standard","hentry","category-asp-net-mvc","tag-actionlink","tag-asp-net-mvc","tag-html","tag-html-actionlink","tag-mvc"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1011","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=1011"}],"version-history":[{"count":2,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1011\/revisions"}],"predecessor-version":[{"id":10375,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1011\/revisions\/10375"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=1011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=1011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=1011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}