Asp.net mvc 无法将模型传递到控制器方法
将模型传递到控制器方法时遇到问题。我希望有人能帮忙 这是模型(按要求): 我已经通过此行的中断确认statsForPieChart Inumerable正确填充了我需要的数据。控制器方法如下所示:Asp.net mvc 无法将模型传递到控制器方法,asp.net-mvc,Asp.net Mvc,将模型传递到控制器方法时遇到问题。我希望有人能帮忙 这是模型(按要求): 我已经通过此行的中断确认statsForPieChart Inumerable正确填充了我需要的数据。控制器方法如下所示: public ActionResult PieChartReport(dbModels.AgencyViewModel.statsForPieChart _statsForPieChart) <img src="@Html.Action("PieChartReport", "Agency",
public ActionResult PieChartReport(dbModels.AgencyViewModel.statsForPieChart _statsForPieChart)
<img src="@Html.Action("PieChartReport", "Agency", new { model = Model })" />
当我在controller方法的第1行中断时,该方法知道_statsForPieChart是对模型的引用,但该值现在为NULL。我丢失了所有的数据
我肯定这很简单,但我还没有找到解决办法。提前感谢你的帮助
基于尝试利用以下建议的额外投入:
1.我尝试使用以下内容,但该值仍然为空:
@Html.Action("PieChartReport", "Agency", new { _statsForPieChart = Model.statsForPieChart })
@Html.HiddenFor(model => model.statsForPieChart)
@Html.Action("PieChartReport", "Agency", new { _statsForPieChart = Model.statsForPieChart })
@Html.Action("PieChartReport", "Agency", new { _statsForPieChart = Model.statsForPieChart })
@Html.HiddenFor(model => model.statsForPieChart)
@Html.Action("PieChartReport", "Agency", new { _statsForPieChart = Model.statsForPieChart })
您使用了错误的帮助器方法用于为作为输入传递的特定操作和控制器生成url,我相信您需要
Html.action
在本例中,因为您希望作为此调用的结果呈现局部视图,请注意传递给的参数应与action方法中的参数名称相匹配,否则它将不会被发回
因此,改变这一点:
@Url.Action("PieChartReport", "Agency", Model.statsForPieChart)
为此:
@Html.Action("PieChartReport", "Agency", new {_statsForPieChart= Model.statsForPieChart })
我能够使用上面的建议成功地传递数据。最终解决方案如下所示:
public ActionResult PieChartReport(dbModels.AgencyViewModel.statsForPieChart _statsForPieChart)
<img src="@Html.Action("PieChartReport", "Agency", new { model = Model })" />
我仍然不知道它最初返回NULL的原因,但它现在正在工作。显示您的模型定义使用表单,您将需要为模型中的每个属性创建隐藏字段以将所有值发布到controllerI。我尝试了两种不同的方式创建表单,但都没有成功。
@Html.Action(“PieChartReport”,“Agency”,model.statsForPieChart)
(Action(),而不是
Url()),并且您不能使用
HiddenFor()`为复杂对象生成值。我尝试了此修改,但值仍然为空。