如何从局部视图调用控制器动作方法

本文关键字:控制器 方法 调用 视图 局部 | 更新日期: 2023-09-27 18:18:13

我有以下_PartilView.cshtml

 @model= Project.ViewModels.UserViewModel
 @foreach (var item in Model.Users)
 {
   <li data-thumb="@Url.Action("Sample", "Image", new { imageid = item.ImageValue})"></li>
 }

但这不是调用Image控制器中的Sample方法,因为我不能在PartialView中使用JavaScript,什么方法可以更好地解决这个问题?

如何从局部视图调用控制器动作方法

使用@Html。动作不是@Url。行动

@model= Project.ViewModels.UserViewModel
     @foreach (var item in Model.Users)
     {
       <li data-thumb="@Html.Action("Sample", "Image", new { imageid = item.ImageValue})"></li>
     }

.action ()

它根据提供的action name, controllername, route object生成一个URL。它包含8个重载方法。

@Html.Action ()

它在控制器中调用子操作并返回Html字符串作为结果。它包含6个重载方法