سلام کاربران همیشگی رجیران حال شما چطوره؟ خوب خوش سلامت هستید ؟ امیدوارم که مطلب امروز ما برایتان مفید باشد میخوام امروز درمورد انتقال اطلاعات از کنترل کننده به ویو صحبت کنم .
سه راه برای انتقال اطلاعات از کنترل کننده به ویو در ASP.NET MVC 3 وجود دارد.
۱٫ به عنوان یک آبجکت مدل تایپ شده
۲٫ به عنوان یک مدل دینامیک (استفاده از مدل دینامیک @)
۳٫ استفاده از ViewBag
من یک برنامه ی ساده ی MVC 3 Top برای مقایسه و مقابل هم قرار دادن دو روش اول نوشته ام. کنترل کننده با یک لیست ساده از بلاگ ها شروع می کند.
using System.Collections.Generic;
using System.Web.Mvc;
namespace Mvc3ViewDemo.Controllers {
public class Blog {
public string Name;
public string URL;
}
public class HomeController : Controller {
List<Blog> topBlogs = new List<Blog>
{
new Blog { Name = “ScottGu”, URL = ”http://tahlildadeh.com/scottgu/”},
new Blog { Name = “Scott Hanselman”, URL = ”http://www.hanselman.com/blog/”},
new Blog { Name = “Jon Galloway”, URL = ”http://www.asp.net/mvc”}
};
public ActionResult IndexNotStonglyTyped() {
return View(topBlogs);
}
public ActionResult About() {
ViewBag.Message = “Welcome to ASP.NET MVC!”;
return View();
}
}
}
روی روش IndexNotStonglyTyped() کلیک راست کرده و یک ویو Razor اضافه کنید.
clip_image001[6]
مطمئن شوید که باکس Create a strongly-typed view تیک نخورده است. ویو نتیجه حاوی چیز زیادی نمی باشد.
@{
ViewBag.Title = “IndexNotStonglyTyped”;
}
<h2>IndexNotStonglyTyped</h2>
On the first line of the Views\Home\IndexNotStonglyTyped.cshtml file, add the model directive and the dynamic keyword.
از آنجایی که ما در حال استفاده از ویو دینامیک هستیم، intellisense کمکی به ما نمی کند. کد کامل شده در زیر نمایش داده شده است.
@model dynamic
@{
ViewBag.Title = “IndexNotStonglyTyped”;
}
<h2>Index Not Stongly Typed</h2>
<p>
<ul>
@foreach (var blog in Model) {
<li>
<a href=”@blog.URL”>@blog.Name</a>
</li>
}
</ul>
</p>
اکنون ما یک ویو strongly typed اضافه می کنیم. کد زیر را به کنترل کننده اضافه کنید.
clip_image002[6]
public ActionResult StonglyTypedIndex()
{
return View(topBlogs);
}
توجه داشته باشید که این دقیقا همان گزارش View(topBlogs)می باشد، به عنوان یک ویو non-strongly typed فرابخوانید. در داخل ofStonglyTypedIndex() کلیک راست کرده و Add Viewرا انتخاب کنید. این بار گروه مدل Blog را انتخاب کرده و List را به عنوان یک الگوی مبنا انتخاب کنید.
در داخل الگوی ویو جدید، پشتیبانی intellisenseرا دریافت می کنی
خوب باشید..