0

我使用以下格式的剑道标签创建了标签。现在我想在 div 中创建选项卡,并通过调用控制器操作显示每个选项卡的部分视图,并将两个参数传递给该控制器操作,该控制器操作返回带有模型数据的部分视图。我已经检查了很多解决方案,但可以找到一个正确的解决方案来解决我的要求。任何人都可以帮忙。

<ul>
    @foreach(var item in model)
        {
            <li>
                @item.DocumentVersion
            </li>
        }
</ul>
@foreach(var Document in model)
        {
            <div>
                <p>
                    @Document.Details
                </p>
                </br>
                <span>
                    @Document.File
                </span>
            </div>
        }
4

1 回答 1

0

在视图中渲染部分视图(简单示例)

<div>
@{Html.RenderPartial("MyPartialViewName",
    new { firstName = model.FirstName, lastName = model.LastName});
}
</div>

<div>
@{Html.RenderPartial("MyPartialViewName","MyController",
    new { firstName = model.FirstName, lastName = model.LastName});
}
</div>

创建参数视图操作

[ChildActionOnly]
public ActionResult MyPartialViewName(string firstName, string lastName)
{
// create model here...
 var model = repository.GetThingByParameter(firstName,lastName);
 var partialViewModel = new PartialViewModel(model);
 return PartialView(mypartialViewModel); 
}

示例视图代码:

 <p>
    @model.something
 </p>
 </br>
 <span>
    @model.otherthing
 </span>

或者在局部视图中做所有标记:

<div>
    <p>
        @model.something
    </p>
    </br>
    <span>@model.otherthing</span>
</div>

当前页面:

@foreach(var Document in model)
{
    @{Html.RenderPartial("MyPartialViewName",
        new { firstName = model.FirstName, lastName = model.LastName});
    }
}

请注意,您还可以将模型部分作为文档传递:

 @foreach(var Document in model)
 {
    @{Html.RenderPartial("MyPartialViewName",Document);
 }

和局部视图:(这里没有传递参数......只是模型)

@model YourApp.Model.Document
<div>
  <p>
        @Model.Details
   </p>
   </br>
   <span>@Model.File</span>
</div>
于 2017-04-07T21:26:24.793 回答