标准的ASP.net数据绑定语法是什么?
Microsoft对控件的介绍提供了获取值的语法:标准的ASP.net数据绑定语法是什么?,asp.net,data-binding,databinder,Asp.net,Data Binding,Databinder,Microsoft对控件的介绍提供了获取值的语法: <b><%# DataBinder.Eval(Container.DataItem, "orderid") %></b> 但我记得这种语法是“坏”和“错”的。从的MSDN文档中,我看到: 注意 由于此方法在运行时使用反射执行后期绑定求值,因此与标准ASP.NET数据绑定语法相比,它会导致性能明显降低 (增加重点) 这就解释了为什么我有一个“Evalis bad”的记忆。但是什么是“标准ASP.NET数据绑定
<b><%# DataBinder.Eval(Container.DataItem, "orderid") %></b>
但我记得这种语法是“坏”和“错”的。从的MSDN文档中,我看到:
注意
由于此方法在运行时使用反射执行后期绑定求值,因此与标准ASP.NET数据绑定语法相比,它会导致性能明显降低
(增加重点)
这就解释了为什么我有一个“Eval
is bad”的记忆。但是什么是“标准ASP.NET数据绑定语法”
额外阅读
现在让我们假设您将性能提高了x%。对你的申请来说值得吗?在我看来,取舍是可读性较差。“标准ASP.NET数据绑定”通常指将数据源中的数据绑定到命名控件,例如表单上的文本框,或者可以绑定整个表的旧GridView
如果你只需要一个只读数据显示,你可以考虑一个FraceRoop或Data Reader来将数据解析成StrugBu建器中的原始HTML,然后将StringBuilder转储为一个文字。
描述标准数据绑定语法如下:
例如,在下面的代码片段中,整数显示为货币字符串使用标准ASP.NET数据绑定语法,必须首先强制转换数据行的类型,才能检索数据字段IntegerValue。接下来,这将作为参数传递给String.Format方法:<%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %>
我正在这样做(构建我想要的html)。但后来有人建议我做得“更好”,使用嵌套的转发器来获得接近我想要的html的内容。这就是为什么我要问关于绑定语法的问题。
<%# (((System.Data.DataRowView)Container.DataItem)["URL"]) %>
<%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %>