C# 如何从局部视图调用控制器操作方法
我有以下内容_PartilView.cshtmlC# 如何从局部视图调用控制器操作方法,c#,asp.net-mvc,razor,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> } @model=Project.ViewModels.UserViewMo
@model= Project.ViewModels.UserViewModel
@foreach (var item in Model.Users)
{
<li data-thumb="@Url.Action("Sample", "Image", new { imageid = item.ImageValue})"></li>
}
@model=Project.ViewModels.UserViewModel
@foreach(Model.Users中的var项)
{
}
但是这不是对
Image
controller中的Sample
方法的调用,因为我不能在PartialView中使用JavaScript,那么什么方法更适合解决这个问题呢?使用@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>
}
@model=Project.ViewModels.UserViewModel
@foreach(Model.Users中的var项)
{
}
@Url.Action()
它根据提供的操作名称、控制器名称、路由对象生成URL。
它包含8个重载方法
@Html.Action()
它调用控制器中的子操作并返回Html字符串作为结果。
它包含6个重载方法。使用@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>
}
@model=Project.ViewModels.UserViewModel
@foreach(Model.Users中的var项)
{
}
@Url.Action()
它根据提供的操作名称、控制器名称、路由对象生成URL。
它包含8个重载方法
@Html.Action()
它调用控制器中的子操作并返回Html字符串作为结果。
它包含6个重载方法。将方法调用为html属性毫无意义。你想做什么?我想把图像源转到
什么是“image\u source”
?这是属性ImageValue
返回的值吗?如果是这样,那么只需
@StephenMuecke它返回一个图像URL,似乎我需要在我将数据植入部分视图时执行此操作。当您获得图像id,即Model.Users[n]。ImageValue,您也可以在模型中获取图像URL,对吗?这样,您就可以在data thumb属性中对.User[n].ImageURL进行建模。将方法调用作为html属性是没有意义的。你想做什么?我想把图像源转到
什么是“image\u source”
?这是属性ImageValue
返回的值吗?如果是这样,那么只需
@StephenMuecke它返回一个图像URL,似乎我需要在我将数据植入部分视图时执行此操作。当您获得图像id,即Model.Users[n]。ImageValue,您也可以在模型中获取图像URL,对吗?这样,您就可以在data thumb属性中为.User[n].ImageURL建模。