绑定或不绑定

时间:2011-09-09 12:32:02

标签: asp.net data-binding

这些代码示例之间有什么区别?哪种方法是对的?

 <asp:Label ID="lblShorName" runat="server" Text="<%#Customer.ShorName%>" />
 lblShorName.DataBind();

lblShorName.Text = Customer.ShorName;

3 个答案:

答案 0 :(得分:2)

我所知道的差别并不大(虽然我会对其他人的答案感兴趣,但如果我错了就会纠正我)。这只是编码风格和偏好的问题。

就个人而言,我更喜欢后者。我觉得它更清晰,并将标记与驱动标记的功能分开。但那只是我。

(我也倾向于不使用我觉得不需要的数据绑定。但是,再一次,它更喜欢你想如何使用提供的工具。例如,在ASP.NET MVC中view我更有可能在循环中编写循环并输出HTML,而不是使用任何类型的转发器或网格控件并将数据绑定到它。只是个人偏好。)

很多内容也归结为您希望在应用程序中执行这些操作的位置。前一个示例将其保留在页面上,而后一个示例可以包含在条件中,重新计算到另一个方法中等等。如果有问题的值可能总是将要来从Customer.ShortName然后我会用后一个例子来添加它的附加逻辑。

答案 1 :(得分:1)

该方法取决于您何时要设置标签。 lblShorName.Text = Customer.ShorName;可用于不同的方法,事件,计时器。如果你只想在开头设置它,你可以使用第一个。

答案 2 :(得分:0)

实际上,当您使用数据绑定时,您的值是在数据绑定时设置的,但是如果您在代码隐藏中设置它,则可以将其设置为页面生命周期的任何阶段。

你也可能有一些逻辑背后的值,这在代码隐藏中更易读/可维护。