我有一个控制器,它可以呈现一个视图(〜/ Views / Component / Create.aspx)没问题。
显示此视图时,我想要:
(1)当用户点击链接时,在模态弹出窗口中(这里没问题),显示一个视图(不是PARTIAL VIEW),但是来自(〜/ Views / TransportType / Index.aspx)的完整aspx视图
为什么呢?因为(〜/ Views / TransportType / Index.aspx)的方式应该是100%,它本身会从TransportType控制器渲染部分视图。因此,在一个屏幕中,我为用户提供(插入/更新/编辑/删除)的功能,而无需进入各种屏幕。
或
(2)在(〜/ Views / Component / Create)中我会满足于渲染<%= Html.RenderAction(“Index”,“TransportType”)%>我可以使用JavaScript切换div中的页面中的某个位置。只有当我尝试使用这种方法时,我才得到CS1502:'System.IO.TextWriter.Write(char)'的最佳重载方法匹配有一些无效的参数。
注意:我可以毫无问题地直接浏览www.MySite.com/TransportType/Index,但如果我尝试使用上面#2中描述的方法,我会得到上面的后续错误。
我已经尝试了一切。我花了一整天的时间来试图解决这个问题。我可以很容易地实现一个快速解决方案,但它会否定整个卖点我说服我的公司相对于MVC及其优于代码隐藏的优势。请帮助或者我可能必须回滚到ASP.NET背后的代码世界。
底线:“有没有人知道如何在视图中呈现视图?或者我问的问题是错误的。
以下是一些代码:
答案 0 :(得分:1)
如果使用jquery-ui,则可以使用对话框方法。
e.g:
<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"); %>