用新模型传递局部视图

时间:2017-06-15 18:15:36

标签: .net asp.net-mvc razor

我在将单独的模型和部分视图传递到索引页面时遇到问题。下面我可以渲染局部视图,但它不会触及方法"打开"来自我的控制器

部分视图

@model IList<DatabaseName.Models.Script>

@foreach(var item in Model)
{
    @item.ScriptName
}

索引

@model DatabaseName.Models.Lead

<div class="opening-fields">
@Html.Partial("~/Views/Scripts/_Opening.cshtml",List<DatabaseName.Models.StriptType())
</div>

在我的控制器中

public ActionResult Index(Guid? id)
{
    Lead lead = db.Leads.Find(id);
    blah blah blah;
    return View(lead);
}

public ActionResult Opening()
{
     var opening = from o in db.Scripts
                   where o.ScriptTypeID == 1
                   orderby o.ScriptOrder
                   select o;
    return PartialView("~/Views/Scripts/_Opening.cshtml", opening);
}

1 个答案:

答案 0 :(得分:0)

您可以使用以下重载从视图中调用操作方法。

Public static MvcHtmlString Action(
    this HtmlHelper htmlHelper,
    string actionName,
    string controllerName,
    Object routeValues
)

https://msdn.microsoft.com/en-us/library/ee703457.aspx

您的索引示例:

@model DatabaseName.Models.Lead

<div class="opening-fields">
@Html.Action("Opening", "ControllerName", new { routevalue1="100", routevalue2="200" });  //changed line

</div>

希望它有用

由于

KARTHIK