我正在使用asp.net mvc 2.0并尝试创建可重复使用的网站部件,可以在任何页面上动态添加。
我遇到的问题是如何使用所有相关的js和数据加载局部视图?我尝试过以下方法来做到这一点:
使用局部视图并将所有j放入其中。在主视图中使用render partial。但是为了初始化局部视图,我需要将模型添加到当前动作方法模型以便能够RenderPartial("MyPartialView", Model.PartialViewModel)
此外,我没有地方可以填写我填写表格所需的其他数据(例如下拉列表值,某些预定义值等)。
使用RenderAction,但它似乎与RenderPartial有相同的问题,除了我不需要向任何其他模型添加任何内容。
非常感谢任何其他选择。
答案 0 :(得分:1)
据我所知,RenderAction对动作执行完整的管道,然后渲染结果 - 所以渲染的内容与你浏览动作时所看到的相同。
我已经使用RenderAction在整个网站中呈现“小部件”,但在我看来,它们应该独立于呈现它们的页面,否则它们不是真正的小部件,而应该成为呈现页面代码的一部分。例如,如果有登录表单,您将始终将用户带到可以处理信息的页面,无论他们当前在哪个页面上,这样就可以创建一个好的小部件。我使用它的其他方式是展示购物篮或广告。这两者都不依赖于显示的页面。
希望这有点帮助!