问题描述
|
我需要在绑定到Telerik MVC网格列的链接上的ASP.NET MVC 2.0(ASPX Engine)操作中调用多个的源代码。
我正在使用实体框架,对实体的Linq,ASP.NET MVC 2,存储库模式和ASPX ViewEngine。
我有一个Telerik MVC网格列作为Status。此列以\“ View \”绑定到ClientTemplate(ActionLink格式)。当用户单击\“查看\”时。
多个Telerik MVC网格显示
1.问题日志。 (仅在状态为\“帐户有错误\”时可见,否则显示最后一个已清除的问题(问题文本和问题描述来自DB,只能在TextBox(问题名称,)\“错误中\”和div中显示\“问题的描述\”)
状态历史。
已登录用户的银行帐户信息
管理员信息
应该显示..
从状态网格列中,我正在获取一个银行帐号,而我的状态来自另一个表。
现在我的问题是如何调用控制器中存在的多个动作(有条件)?
有人可以指导我提供工作代码吗?:(
如果可能,请发送电子邮件至ashes22@gmail.com
解决方法
单击视图后,您要显示一个新视图,该视图包含然后调用控制器或其他视图中的其他操作方法。
因此,例如,当您单击网格上的“视图”链接时,您将使该视图链接转到另一条路线(进而是另一条控制器)。
因此,可以说\“ view \”链接将您带到一个名为
CombinedStatusController
然后在您的/Views/CombinedStatusController/Index.aspx中
您调用RenderAction来在每个控制器上调用一个方法,在这里,我假设分别使用一个方法命名为StatusController,BankAccountController,AdminInformationController:
public ActionResult Index(int statusId)...
<%= Html.RenderAction(\“ Index \”,\“ Status \”,新的{statusId = statusId})%>
<%= Html.RenderAction(\“ Index \”,\“ BankAccount \”,新的{statusId = statusId})%>
<%= Html.RenderAction(\“ Index \”,\“ AdminInformation \”,新的{statusId = statusId})%>
这些动作中的每一个都会返回一个带有Telerik网格的视图。
因此,您可以通过调用CombinesStatusController的一个父视图来创建三个独立的视图。
现在-代替Html.RenderAction的另一个选项是Html.RenderPartial。区别在于RenderPartial直接进入视图(不通过您的控制器),并将当前模型的副本传递给它。在您的情况下,您需要检索特定于statusId的数据,因此在这里我不使用RenderPartial,而是使用RenderAction。
希望这个对你有帮助 : )
,您不会从前端调用多个操作。您调用一个,然后让那个调用控制器内的其他Action(或非Action)方法。