我在.NET MVC3中使用jqueyrmobile
框架开发应用程序。我正在使用循环
ListView
<ul data-role="listview">
@foreach (var item in Model)
{
<li><a href="@Url.Action("Index","Transaction",item)">
<div style="vertical-align:text-top;padding:1px;font-size:large">
@Html.DisplayFor(modeItem => item.title)
<span style="font-size:small;text-align:right">
@Html.DisplayFor(modeItem => item.balance)
.@Html.DisplayFor(modeItem => item.currency)
</span>
</div>
</a>
</li>
}
</ul>
这很好用,我在item
Index
控制器的动作中得到了对象Transaction
;但是对于另一个页面的similer代码
<ul data-role="listview">
@foreach (var item in Model)
{
<li><a href="@Url.Action("optionDialog",item)" data-rel="dialog" >
<div>@Html.DisplayFor(modeItem => item.brTitle)</div></a></li>
}
</ul>
我在item
行动中获得了空optionDialog
个对象。虽然它调用了Action,但该对象为null。任何人请帮助我。
答案 0 :(得分:0)
问题在于你将项目错误地传递给了行动
"@Url.Action("optionDialog",item)" <--- wrong
像这样试过
"@Url.Action("optionDialog", new { fooParameter= item})"
答案 1 :(得分:0)
我得到的解决方案有微软的bug在更换后不能工作一段时间来调用自己的控制器动作
<li><a href="@Url.Action("optionDialog",item)" data-rel="dialog" >
与
<li><a href="@Url.Action("optionDialog","ControllerName",item)" data-rel="dialog" >
我得到了我的结果