[英]Child action/partial view is not being rendered when called in asp.net mvc 2 application
我确定它很小(或可能很大),但是我的子操作无效。 我有一个用年份值填充列表的子操作。 该列表将通过部分控件显示。 当我单步执行代码时,我看到了各自执行的代码,但是页面上没有任何内容。
儿童动作:
[ChildActionOnly]
public ActionResult GetYearList()
{
return PartialView(_FormService.getYears());
}
父视图中使用的呼叫:
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
Select Year: <% Html.Action("GetYearList"); %>
部分查看代码:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<SelectListItem>>" %>
<% if (Model != null)
{ %>
<% Html.DropDownList("Year", Model, "Select Year"); %>
<% } else { %>
<p> No Years Found </p>
<% } %>
任何线索我在做什么错? 我可以直接渲染部分视图,但是我实际上是在试图弄清楚ChildActions是如何工作的,因此,如果逻辑更加复杂,我将来会使用它们。
编辑1
愚蠢的语义。 不得不将我的GetYearList部分视图更改为:
<%= Html.DropDownList("Year", Model, "Select 1099 Year") %>
代替
<% Html.DropDownList("Year", Model, "Select Year"); %>
在父视图中,与Darin所说的事情类似:
change Select Year: <% Html.Action("GetYearList"); %>
to <%= Html.Action("Get1099YearList") %>
您正在调用子操作,但不执行任何操作以将其呈现到输出中:
<% Html.Action("GetYearList"); %>
应该变成:
<%= Html.Action("GetYearList") %>
或者,如果您喜欢:
<% Html.RenderAction("GetYearList"); %>
以及对可能感兴趣的人的Razor等效产品:
@Html.Action("GetYearList")
@{Html.RenderAction("GetYearList");}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.