Asp.net mvc 不使用编辑器模板的Asp MVC可重用控件

Asp.net mvc 不使用编辑器模板的Asp MVC可重用控件,asp.net-mvc,Asp.net Mvc,我想创建一个可以在同一页面上使用两次的视图,每次使用一个唯一的id 目前,我正在使用两种方法来做这类事情 编辑器模板 stevensanderson动态创建控件的方法 编辑器模板是最简单的,因为它们取了名称mangling(例如parent1\u parent2\u childId),但是编辑器模板不能跨区域使用,我非常喜欢区域 有第三种选择吗 谢谢您可以使用RenderPartial extension方法将模型传递给子视图。使用此模式可以传递所需的id,或从中获取id。我还没有尝试过,但我猜

我想创建一个可以在同一页面上使用两次的视图,每次使用一个唯一的id

目前,我正在使用两种方法来做这类事情

  • 编辑器模板
  • stevensanderson动态创建控件的方法
  • 编辑器模板是最简单的,因为它们取了名称mangling(例如parent1\u parent2\u childId),但是编辑器模板不能跨区域使用,我非常喜欢区域

    有第三种选择吗


    谢谢

    您可以使用RenderPartial extension方法将模型传递给子视图。使用此模式可以传递所需的id,或从中获取id。

    我还没有尝试过,但我猜这里有一些注意事项。如果将两个控件放在同一个表单中,它们将破坏模型绑定,要么因为我们更改了名称(无法绑定),要么因为我们没有更改名称(随机绑定)。但是,如果不是以相同的形式,那么它应该可以工作?您可以将模型设置为动态的,这样,您可以传递任何内容。我不知道视图中的dynamic关键字,所以我一直在研究它。很难找到数组绑定的示例,例如在“@foreach(模型中的动态项)”中,您将使用什么来绑定它?我试过@Html.TextBox(“item.A”)和变体。也许是一个全新的问题。感谢您迄今为止的帮助,将您的集合存储在动态实例中的某些属性(.Items)中。然后,在您看来,这样做:foreach(Model.Items.OfType()中的var item){…}我无法让它工作,但我已经得出结论,不管怎样,动态并不是一种方式。我将坚持使用编辑器模板。谢谢