0

我有一个控制器,它呈现一个视图(~/Views/Component/Create.aspx)没问题。

当显示此视图时,我想:

(1)当用户点击一个链接时,在一个模态弹出窗口中(这里没问题),显示一个视图(NOT A PARTIAL VIEW)但是来自(~/Views/TransportType/Index.aspx)的一个完整的aspx视图

为什么?因为 (~/Views/TransportType/Index.aspx) 是 100% 应有的方式,并且它自己呈现来自 TransportType 控制器的部分视图。因此,在一个屏幕中,我让用户能够(插入/更新/编辑/删除)而无需转到各个屏幕。

或者

(2) 在 (~/Views/Component/Create) 中,我将满足于在页面中某个 div 中呈现 <%= Html.RenderAction("Index", "TransportType") %> ,我可以使用 JavaScript 进行切换. 只有当我尝试使用这种方法时,我才会得到 CS1502:'System.IO.TextWriter.Write(char)' 的最佳重载方法匹配有一些无效参数。

注意:我可以直接浏览 www.MySite.com/TransportType/Index 没有问题,但是如果我尝试使用上面 #2 中描述的方法,我会收到上面的后续错误。

我已经尝试了一切。我花了一整天的时间试图弄清楚这一点。我可以轻松地实施快速修复,但它会否定我说服我的公司相对于 MVC 的全部卖点及其相对于代码隐藏的优势。请帮忙,否则我可能不得不回滚到背后的 ASP.NET 代码世界。

底线:“有谁知道如何在视图中呈现视图?或者我问错了问题。

这是一些代码:

4

1 回答 1

1

如果你使用 jquery-ui,你可以使用 dialog 方法。

例如:

<a href="<%=Url.Action("Index","TransportType") %>" id="transports">Types</a>
<div id="window"></div>
<script type="text/javascript">

$(document).ready(function(){
    $("#transports").click(function(){
        $("#window").load(this.href).dialog({title:"transport list"});
        return false;
    });
});
</script>

编辑:要使用 Html.RenderAction 不要放在=前面并放在;最后,因为它没有返回任何内容:<% Html.RenderAction("Index", "TransportType"); %>

于 2011-03-17T07:45:32.520 回答