تولید HyperLink با استفاده از Actionlink Html Helper در MVC
چهارشنبه 23 اردیبهشت 1394در این مقاله میخواهیم یک با استفاده از Actionlink Html Helper در MVC تولید کنیم همانطور که میدانید در MVC ما میتوانیم در ویو های خود از Html Helper ها استفاده های زیاد و کاربردی ببریم در این مقاله هم از یکی از آنها به نام Actionlink برای تولید HyperLink استفاده میکنیم.
در این مقاله میخواهیم یک با استفاده از 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 انجام میشود.
- ASP.net MVC
- 2k بازدید
- 0 تشکر