Aspnet MVC Link Oluşturma HtmlActionLink
Asp.net MVC de Html.ActionLink() en çok kullandığımız koddur. Aspnet MVC de link oluşturmayı göstereceğiz yani bir sayfadan başka bir sayfaya gideceğiz.
Html.ActionLink() Kullanımı:
En az iki parametre almak zorundadır.
Örnek Kullanımı :
Html.ActionLink(string linkText,string actionName, string controllerName, RouteValueDictionary routeValues ya da ,object routeValues), object htmlAtrributes);
Sık kullandığımız parametreler şunlardır.
string linkText = "Linkimizin Metini"
string actionName = "Kullanıcağımız Action 'ın ismi",
string controllerName = "Actionumuz hangi Controllerdaysa onun ismi",
RouteValueDictionary routeValues = "Urldeki parametre ve değerlerini yazıyoruz varsa",
object routeValues = "Eğer Action da bir parametre varsa o parametreye değer göndermek için",
object htmlAttributes = "Linkimizde html kodlarını kullanmak için"
Şimdi ise kodlamasını yapalım.
Not : Arkadaşlar yazdığımız Html.ActionLink() derlendiğinde html a tag olarak yazılmaktadır o yüzden sadece Html.ActionLink() olarak kullanmalıyız.
a href="@Html.ActionLink("Link","Hakkimda")" yanlış bir kullanım olucaktır.
@*İki parametreli kullanımı*@
@Html.ActionLink("Link Metni", "Hakkimda") @*Hakkımda Bir actionmetotdur.*@
@*Html Ekran Çıktısı *@
<a href="/Home/Hakkimda">Link Metni </a>
@*Üç parametreli kullanımı*@
@Html.ActionLink("Link Metni", "Hakkimda","Home")
@*Üçüncü parametremiz Controller ismi olucaktır.
Sorabilirsiniz neden yazmaya ihtiyaç olabilir yukarıda yazmadık diye
Yukarıda yazmama sebebiz kodları yazdığımız
View kısmı Home controller ait i bir Viewdir.
Ama başka bir Controllere gitmek isteye biliriz.
*@
@*Html Ekran Çıktısı *@
<a href="/Home/Hakkimda">Link Metni</a>
Url = domain.com/Home/Hakkimda
@*Dört parametreli kullanımı*@
@Html.ActionLink("Link Metni", "Hakkimda", "Home",
new { target ="_blank" ,name = "link",style ="color : red"})
@*Linkimize css ve html kodlarımızıda eklemiş oluyoruz*@
@*Html Ekran Çıktısı *@
<a href="/Home/Hakkimda" style="color :red " target ="_blank" ></a>
Url = domain.com/Home/Hakkimda
@*Beş parametreli kullanımı*@
@Html.ActionLink("Link Metni", "Hakkimda", "Home", new { id = 7 },
new { target = "_blank", name = "link", style = "color : red" })
@*Kullandıgımız new { id = 7}
object routeValues kullanmış olduk eğer action metodumuz
bir parametre alıyorsa o parametreyi göndermemizi sağlıyor
//Örnek olarak action metodumuz
public ActionResult Hakkimda(int id)
{
//işlemlerimiz
}
*@
@*Html Ekran Çıktısı *@
<a href="/Home/Hakkimda/7" style="color :red " target ="_blank" ></a>
Url = domain.com/Home/Hakkimda/7