تولید HyperLink با استفاده از Actionlink Html Helper در MVC

چهارشنبه 23 اردیبهشت 1394

در این مقاله میخواهیم یک با استفاده از Actionlink Html Helper در MVC تولید کنیم همانطور که میدانید در MVC ما میتوانیم در ویو های خود از Html Helper ها استفاده های زیاد و کاربردی ببریم در این مقاله هم از یکی از آنها به نام Actionlink برای تولید HyperLink استفاده میکنیم.

تولید HyperLink با استفاده از Actionlink Html Helper در MVC

در این مقاله میخواهیم یک  با استفاده از Actionlink Html Helper در MVC تولید کنیم همانطور که میدانید در MVC ما میتوانیم در ویو های خود از Html Helper ها استفاده های زیاد و کاربردی ببریم در این مقاله هم از یکی از آنها به نام Actionlink برای تولید  HyperLink استفاده میکنیم.

ابتدا در پایگاه دداده خود یک جدول به نام Employe به شکل زیر بسازید :

CREATE TABLE [dbo].[Employe]  
(  
[employeid] [int] IDENTITY(1,1) NOT NULL,  
[Name] [varchar](50) NOT NULL,  
[Gender] [varchar](50) NOT NULL,  
[City] [varchar](50) NOT NULL,  
) 

سپس مقداری اطلاعات در آن درج کنید حال یک برنامه جدید از نوع MVC بسازید  File => New => Project

در هنگام ساخت نام پروژه و مسیر آنرا مشخص کنید وپروژه رو از نوع Empty ایجاد کنید.

کلاس LINQ to SQL را به پروژه خود اضافه کنید روی نام پروژه راست کلیک کرده و  Add new item را انتخاب کنید به بخش DATA رفته و Linq to Sql  را انتخاب کنیدو روی گزینه Add کلیک کنید یک فایل با پسوند .dbml. به پروژه اضافه میشود.

از پنجره Server Explorer جدول خود را درگ کرده و به آن اضافه کنید..

ساخت مدل

روی پوشه خود کلیک راست کرده و یک کلاس به نام empcontext   بسازید:

namespace Mvctestlinq.Models  
{  
    class empcontext  
 {  
        DataClasses1DataContext db = new DataClasses1DataContext();  
        public empcontext()  
        {  
            this.employess = new List<Employe>();  
        }     
        public List<Employe> employess { set; get; }   
    }  
      
} 

حال روی پوشه کنترلر راست کلیک کرده و یک کنترلر به نام employeee بسازید:

using System;    
using System.Collections.Generic;    
using System.Linq;    
using System.Web;    
using System.Web.Mvc;    
using Mvctestlinq.Models;    
    
namespace Mvctestlinq.Controllers    
{    
    public class employeeeController : Controller    
    {    
        DataClasses1DataContext db = new DataClasses1DataContext();    
        //    
        // GET: /employeee/    
    
        public ActionResult Index()    
        {    
            DataClasses1DataContext db = new DataClasses1DataContext();    
           List<Employe> emps = db.Employes.ToList();    
    
            return View(emps);    
    
        }    
        public ActionResult details(int id)    
        {    
            DataClasses1DataContext db = new DataClasses1DataContext();    
    
            empcontext empss = new empcontext();    
            empss.employess = db.Employes.ToList();    
            var value = empss.employess.Single(d =>d.employeid == id);    
            return View(value);            
    
        }      
    }    
}  

ساخت ویو برای نمایش نام کارمندان

روی متد Index کلیک راست کرده و Addview را انتخاب کنید در صفحه ای که باز میشود نام را تغییر ندهید و مدل خود (employe) را انتخاب کنید.

@model IEnumerable<Mvctestlinq.Employe> 
@{
    ViewBag.Title = "لیست کارمندان";
}

<h2>لیست کارمندان</h2>

<div>
    <ul>
        @foreach (var employe in @Model)
        {
            <li>  @Html.ActionLink(employe.Name, "details", new { id = employe.employeid })</li>
        }
    </ul>
</div> 

حال نوبت به ساخت ویو برای detail میرسد:

@model Mvctestlinq.Employe

@{
    ViewBag.Title = "جزئیات کارمندان";
}

<h2>جزئیات</h2>

<div>

    <dl class="dl-horizontal">
        <dt>
          @Html.Label("نام :")
        </dt>

        <dd>
            @Html.DisplayFor(model => model.Name)
        </dd>

        <dt>
           @Html.Label("جنسیت :")
        </dt>

        <dd>
            @Html.DisplayFor(model => model.Gender)
        </dd>

        <dt>
           @Html.Label("شهر :")
        </dt>

        <dd>
            @Html.DisplayFor(model => model.City)
        </dd>

    </dl>
</div>
<p>
  
    @Html.ActionLink("بازگشت به فهرست", "Index")
</p>

اگر روی نام هر کارمند کلیک کنیم به صفحه جزئیات مرتبط به آن hyperlink فرستاده خواهیم شد که این عمل با استفاده از یک Actionlink html helper انجام میشود.

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید