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

时间:2016-11-17 04:50:06

标签: c# asp.net-mvc razor

我有以下_PartilView.cshtml

 @model= Project.ViewModels.UserViewModel

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

但这不是调用Sample控制器中的Image方法,因为我不能在PartialView中使用JavaScript,这种解决方法会更好吗?

1 个答案:

答案 0 :(得分:2)

使用@ Html.Action而非@ Url.Action

@model= Project.ViewModels.UserViewModel

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

@ Url.Action()

根据提供的操作名称,controllername,route对象生成URL。 它包含8种重载方法。

@ Html.Action()

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