标签: databinder

什么是标准的ASP.net数据绑定语法?

Microsoft 使用该asp:Repeater控件引入数据绑定提供了获取值的语法:

<b><%# DataBinder.Eval(Container.DataItem, "orderid") %></b>
Run Code Online (Sandbox Code Playgroud)

对ASP.net Repeater控件的其他介绍中重复此语法:

<a href="<%# DataBinder.Eval(Container.DataItem, "URL") %>">...</a>
Run Code Online (Sandbox Code Playgroud)

但我记得这种语法是"坏"和"错误".从我的MSDN文档中DataBinder.Eval看到:

在此输入图像描述 注意

由于此方法执行后期绑定评估,在运行时使用反射,因此与标准ASP.NET数据绑定语法相比,它可能会导致性能明显变慢.

(重点补充)

这就解释了为什么我记得" Eval很糟糕".但什么 "标准的ASP.NET数据绑定语法"?

奖金阅读

asp.net data-binding databinder

5
推荐指数
1
解决办法
2526
查看次数

C# - 通过Repeater控件循环并访问通过DataBinder.Eval()添加的值

我有一个Repeater控件,可以向表中添加行.每个单元格内的数据来自绑定到转发器的数据表.

简化示例:

<asp:Repeater ID="Repeater1" runat="server">
  <ItemTemplate>
   <tr>
     <td>
        <%# DataBinder.Eval(Container.DataItem, "PartNumber")%>
     </td>
     <td>
         <%# DataBinder.Eval(Container.DataItem, "Quantity")%>
     </td>
   </tr>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

在后面的代码中,我希望能够循环遍历每个转发器行并获取该行的Quantity值.

到目前为止我只有:

foreach (RepeaterItem ri in Repeater1.Items)
{

} 
Run Code Online (Sandbox Code Playgroud)

.net c# loops repeater databinder

4
推荐指数
1
解决办法
2万
查看次数

Repeater databinder.eval双引号

我有repeater类似以下的,

<asp:Repeater ID="rptEntries" runat="server">                         
    <ItemTemplate>
         <asp:LinkButton ID="lnk1" runat="server" Text=""></asp:LinkButton>
    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

现在,我想将LinkButtons 的Text值与以下内容绑定,

<%# DataBinder.Eval(Container.DataItem, "EntryText") %>
Run Code Online (Sandbox Code Playgroud)

但是,当我执行以下操作时,我会得到双引号问题,

Text="<%# DataBinder.Eval(Container.DataItem, "EntryText") %>"
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

c# databinder

4
推荐指数
1
解决办法
3397
查看次数

DataBinder.Eval数据项为空

当DataItem为空时,我无法确定如何隐藏','.

基本上,我有表行显示注册地址并使用以下技术填充:

<%# DataBinder.Eval(Container.DataItem, "Address_Line_1" )%>,
<%# DataBinder.Eval(Container.DataItem, "Address_Line_2")%>,
<%# DataBinder.Eval(Container.DataItem, "TOWNLAND")%>,                          
<%# DataBinder.Eval(Container.DataItem, "CITY")%>,
<%# DataBinder.Eval(Container.DataItem, "STATE")%>,
Run Code Online (Sandbox Code Playgroud)

现在,如果上面的一个或多个DataItem返回为Empty,则在前端显示为

地址1 ,,, CITY ,,

我尝试了以下隐藏逗号(','),但我一直收到错误说

在'If'语句的第一行缺少')'

<%#IIf(IsDBNull(DataBinder.Eval(Container.DataItem, "STATE")) OrElse 

String.IsNullOrEmpty(DataBinder.Eval(Container.DataItem, "STATE")) , "" , 

DataBinder.Eval(Container.DataItem, "STATE") & ",")%>
Run Code Online (Sandbox Code Playgroud)

我不确定我的'if'陈述是错还是不能如上所述?

任何人都有关于上述或任何其他隐藏逗号的替代方法的建议,如果是NULL值?

c# asp.net databinder

4
推荐指数
1
解决办法
2万
查看次数

http(/*参数在这里*/)如何在没有显式或隐式方法的情况下使用此Object(Http)?

在使用Databinder Dispatch使用Json进行编码的示例中,Nathan使用了一个没有方法的Object(Http),如下所示:

import dispatch._
import Http._
Http("http://www.fox.com/dollhouse/" >>> System.out )
Run Code Online (Sandbox Code Playgroud)

他是怎么做到的?

谢谢你所有的答案,不幸的是我不够具体......

看起来它只是将一个参数传递给类或伴随对象Http的构造函数.

在另一个例子中,我看到了另一种形式:

http = new Http
http(/* argument here */)
Run Code Online (Sandbox Code Playgroud)

这是有效的Scala吗?我想它一定是,因为作者是Scala专家.但这对我没有意义.动作通常通过调用对象上的方法来执行,无论是显式地为object.doSomething()还是隐式地为object = something(使用语法糖下的apply()方法).

我能想到的是构造函数除了用于构造对象之外还用于执行某些操作.换句话说,它具有副作用,例如在这种情况下,在网络上做一些事情.

scala databinder scala-dispatch

3
推荐指数
1
解决办法
328
查看次数

在 Spring 中使用 setAllowedFields() 方法

我正在使用 Spring 3.2.0。我已经注册了一些自定义属性编辑器以满足一些基本需求,如下所示。

import editors.DateTimeEditor;
import editors.StrictNumberFormatEditor;
import java.math.RoundingMode;
import java.net.URL;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.joda.time.DateTime;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.beans.propertyeditors.URLEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.context.request.WebRequest;

@ControllerAdvice
public final class GlobalDataBinder 
{
    @InitBinder
    public void initBinder(WebDataBinder binder, WebRequest request)
    {
        binder.setIgnoreInvalidFields(true);
        binder.setIgnoreUnknownFields(true);
        //binder.setAllowedFields(someArray);
        NumberFormat numberFormat=DecimalFormat.getInstance();
        numberFormat.setGroupingUsed(false);
        numberFormat.setMaximumFractionDigits(2);
        numberFormat.setRoundingMode(RoundingMode.HALF_UP);

        binder.registerCustomEditor(DateTime.class, new DateTimeEditor("MM/dd/yyyy HH:mm:ss", true));
        binder.registerCustomEditor(Double.class, new StrictNumberFormatEditor(Double.class, numberFormat, true));
        binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
        binder.registerCustomEditor(URL.class, new URLEditor());
    } 
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经注册了这么多编辑。其中两个DateTimeEditorStrictNumberFormatEditor通过重写各自的方法进行定制,以满足数字格式和Joda-Time的自定义需求。

由于我使用的是 Spring 3.2.0,因此我可以利用@ControllerAdvice …

spring spring-mvc propertyeditor databinder spring-3

2
推荐指数
1
解决办法
1万
查看次数

如何通过scala获取二进制数据流?

我想在scala程序中下载给定URL的图像.我正在尝试做类似以下的事情,但我可以找到有关文本而不是数据流的所有调度程序示例.有人能指出我使用调度从URL下载二进制文件的例子吗?如果我尝试直接使用img关于Future的编译器barfs.

我正在尝试执行的任务是检索Facebook个人资料图片.

  def copyUrl( uri : String ) : Array[Byte] = {
    val svc = url(uri)
    val img = Http(svc OK as.Bytes)
    for ( i <- img )  {
      println(i)
    }
    // something here but no idea
    img.map(_.toArray)
  }
Run Code Online (Sandbox Code Playgroud)

我得到以下编译器错误

ProfileImage.scala:31: type mismatch;
[error]  found   : scala.concurrent.Future[Array[Byte]]
[error]  required: Array[Byte]
[error]           img.map(_.toArray)
[error]                  ^
[error] one error found
Run Code Online (Sandbox Code Playgroud)

我也试过了

  def copyUrl( uri : String ) : Array[Byte] = {
    result = scala.io.Source.fromURL(uri).map(_.toByte).toArray
  }
Run Code Online (Sandbox Code Playgroud)

结果

Exception being returned to browser when …
Run Code Online (Sandbox Code Playgroud)

facebook scala databinder

1
推荐指数
1
解决办法
695
查看次数