PDA

View Full Version : این اکشن چرا مقدار نمیگیره؟! null پاس میده



RIG000
سه شنبه 04 آذر 1393, 14:54 عصر
@using System.Data @model IEnumerable<EshopFull.Models.PageGroups>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
@foreach (var item in Model)
{

<li>@Html.ActionLink(@item.PageGroupTitle, "ListNavbarPageGroup", "Pages", null, new { Id = @item.PageGroupID })</li>
}
</ul>
</div>
اینو با یه لیست گرفتم .. و حالا میخام رو هر کدم که کلیک کردم بره به اکشن مورد نظر اونجا با این id که گرفته کاری رو انجام بده . این الان چشه؟؟؟

public ActionResult ListNavbarPageGroup(int? Id) {
var Query = from findById in db.Pages
where findById.PageGroupID == Id
select findById;
return View(Query.ToList());
}

RIG000
سه شنبه 04 آذر 1393, 15:08 عصر
جالب اینه که pagesource هم id گرفته...



<ul class="nav navbar-nav">



<li><a Id="1" href="/Pages/ListNavbarPageGroup (http://localhost:1127/Pages/ListNavbarPageGroup)">کشاورزی </a></li>



<li><a Id="3" href="/Pages/ListNavbarPageGroup (http://localhost:1127/Pages/ListNavbarPageGroup)">ورزشی</a></li>



<li><a Id="4" href="/Pages/ListNavbarPageGroup (http://localhost:1127/Pages/ListNavbarPageGroup)">دامداری</a></li>



</ul>

RIG000
سه شنبه 04 آذر 1393, 15:11 عصر
The parameters dictionary contains a null entry for parameter 'Id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult ListNavbarPageGroup(Int32)' in 'EshopFull.Controllers.PagesController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters

RIG000
سه شنبه 04 آذر 1393, 15:14 عصر
جای null رو عوض کردمدرست شد--!!! ای خدا

<li>@Html.ActionLink(@item.PageGroupTitle, "ListNavbarPageGroup", "Pages", new { Id = @item.PageGroupID },null)

مهدی کرامتی
چهارشنبه 05 آذر 1393, 05:07 صبح
میدونی اشکال کار کجا بود؟ پارامتر چهارم در Html.ActionLink جایی است که شما می بایست Route Values رو قرار بدی، شما به جای از پارامتر پنجم استفاده کرده بودی، یعنی مقدار Route Values رو داشتی به جای Html Attributes می فرستادی.

RIG000
چهارشنبه 05 آذر 1393, 11:20 صبح
درسته . باید تو خوده overload ها بیشتر دقت میکردم ... اینم انواع Html.actionlink OverLoades در فضای نام system.web.mvc.html
http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.actionlink(v=vs .118).aspx