当前位置:  开发笔记 > 编程语言 > 正文

有没有一种方法可以在没有eg的情况下绑定单个项目.中继器控制?

如何解决《有没有一种方法可以在没有eg的情况下绑定单个项目.中继器控制?》经验,为你挑选了2个好方法。

假设我有一个类型为Car的对象,我想将其呈现为HTML:

class Car {
  public int Wheels { get; set; }
  public string Model { get; set; }
}

我不想使用ASP.NET Repeater或ListView控件进行绑定,因为它看起来太冗长了.我只有一个对象.但我仍然希望能够使用数据绑定语法,因此我不必使用标签或文字.就像是:

Wheels: <%# (int)Eval("Wheels") %>
Model: <%# (string)Eval("Model") %>

有没有人知道那里的控制权呢?

我还没准备好切换到ASP.NET MVC.


不幸的是,DetailsView控件不能满足我的需求,因为它似乎不支持我所追求的模板式语法.它也需要绑定到某种类型的DataSource对象.

我更喜欢Maxim和Torkel建议的解决方案.我会尽力去做.



1> Maxime Rouil..:

如果页面是关于特定项目(例如,Car.aspx?CarID = ABC123),我通常在名为"CurrentCar"的页面上有一个公共属性

public Car CurrentCar { get; set; }

然后我可以得到以下内容:

Wheels: <%= CurrentCar.Wheels %>
Model: <%= CurrentCar.Model %>

这样可以让你有类型安全.只需确保在实际渲染之前分配有效对象.



2> Torkel..:

我建议您在页面上将汽车设为受保护的属性,这将允许您直接在aspx页面中访问它:

Wheels: <%= Car.Wheels %> Wheels: <%= Car.Models %>

对于单项数据绑定方案,这种方法实际上更好,因为"绑定"是强类型的.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有