1 ضمیمه
مشکل در نوارآدرس هنگامی فراخوانی دوباره یک اکشن
درود
میخوام وقتی کاربر رو هر کدوم از آیتم های منوی سایت کلیک میکنه پست های مربوط به اون منو لود شه .بار اول که روی لینک هر آیتم کلیک میکنم درست کار میکنه اما بار دوم نوار آدرس به شکل زیر در میاد و ارور میده و بجایی که یو.آر.ال از اول لود شه اکشن دوبار فراخونی میشه!
ضمیمه 147813
کدهای بخش ویو منو:
<ul class="ul-main">
@foreach (var item in Model)
{
if (item.Parent == 0)
{
<li class="li-main">
//خط زیر فرستادن آی.دی منو به اکشن گت-منو
<a href="Home/GetMenu/@item.ID"><i class="@item.Icon"></i>@item.Name</a>
<ul class="ul-sub">
@foreach (var sub in Model)
{
if (sub.Parent == item.ID)
{
<li class="li-sub">
<a href="Home/GetSubMenu/@sub.ID">@sub.Name</a>
</li>
}
}
</ul>
</li>
}
}
</ul>
اکشن GetMenu
// بارگزاری پست ها براساس منو
public ActionResult GetMenu(int id)
{
PostRepository rpPost = new PostRepository();
CommentRepository rpCmnt = new CommentRepository();
ViewModels.HomePage oModel = new ViewModels.HomePage();
oModel.posts=rpPost.Where(w=> w.id_menu==id).OrderBy(d => d.Date).ThenBy(t => t.Time).ToList();
oModel.comments = rpCmnt.Select().OrderBy(d => d.Date).ThenBy(t => t.Time).Take(5).ToList();
return View(oModel);
}
نقل قول: مشکل در نوارآدرس هنگامی فراخوانی دوباره یک اکشن
این خط رو
<a href="Home/GetSubMenu/@sub.ID">@sub.Name</a>
تغییر بدید به:
<a href="/Home/GetSubMenu/@sub.ID">@sub.Name</a>
یك علامت / به ابتدای ادرس مقصد اضافه كنید
نقل قول: مشکل در نوارآدرس هنگامی فراخوانی دوباره یک اکشن
همانطور که دوستمون گفتن یک / کم دارید اما کلا بجای اینکه درون Href مقدار ثابت قرار بدید از Url استفاده کنید.
<a href="@Url.Action("actionName", "controllerName", new { id = "<id>" })">