gpt4 book ai didi

.Net 中继器等效于单个对象?

转载 作者:行者123 更新时间:2023-12-04 17:59:52 25 4
gpt4 key购买 nike

有人可以尝试推荐最佳的行动理由来解决以下请求:

我已经创建了许多使用 Repeater 类作为基础的扩展类,并且喜欢这样做的灵 active 、易用性和结果。我现在要做的是为单个对象(即 DataSource 未实现 IListSource 或 IEnumerable)制作类似的自定义 Web 控件。我已经通过扩展转发器创建了我想要实现的结构,然后在设置数据源时使用 1 个项目的列表来保存对象,然后进行数据绑定(bind)。

e.g a rough example:

Dim oObj as New MyObject(1)
Dim gl As New Generic.List(of MyObiect)()
gl.Add(oObj)
rpt.DataSource = gl
rpt.DataBind()

这似乎是一个小技巧,我想做的是以下几点:
e.g new call, where my control is the new custom control:

Dim oObj as New MyObject(1)
myControl.DataSource = oObj
myControl.DataBind()

我希望能够使用各种变量和属性定义此自定义控件,其结果将启用以下类型的布局:
<My:ObjControl ID="frm" runat="server">
<Tabs>
<My:Tab name="Details">
<Items>
<My:Item Type="Text" Label="First Name" Property="FirstName" />
<My:Item Type="Text" Label="Last Name" Property="LastName" />
<My:Item Type="Text" Label="Title" Property="Title" />
</Items>
</Tab>
<My:Tab name="Address">
<Items>
<My:Item Type="Text" Label="Address 1" Property="Address1" />
<My:Item Type="Text" Label="Address 2" Property="Address2" />
<My:Item Type="Text" Label="Address 3" Property="Address3" />
</Items>
</Tab>
</Tabs>
</My:ObjControl>

此实现必须使用 WebForms 进行,尽管考虑到上述情况,使用 MVC 似乎是理想的方法。通过这样做,我想创建一个灵活的 WebControl,它使用反射(可用于实现特定接口(interface)的所有类),它将生成所需的表单,每次需要时只需要后面(上面)三行代码。

我是否应该将一个属性添加到一个自定义中继器(DataObject),该中继器接受一个对象并相应地设置 DataSource 并节省我的时间?或者,还有更好的方法?

希望这一切都有意义!

干杯,
史蒂夫

最佳答案

您正在努力解决转发器想要一个 List 并且您想给它 1 个实例的事实。只需将其包装在一个新的 List* oObj 中)然后继续。它一直都在做。

我当然不知道他们在使用自定义服务器控件时到底发生了什么。在我看来,你又太努力了。

<asp:repeater id="whatever" runat=server>
<ItemTemplate>First Name: <%# DataBinder.Eval(Container.DataItem,"FirstName") %></ItemTemplate>
</asp:repeater>

关于.Net 中继器等效于单个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com