2009-03-05 50 views
0

我有一些中继器控件,从一些服务器端数据源填充一些html控件。该转发器内的这些控件的代码看起来是这样的..如何在中继器内的数据绑定字段上进行客户端文本格式设置?

<img src='<%# DataBinder.Eval(Container.DataItem, "Path")%>' title='<%# DataBinder.Eval(Container.DataItem, "Name")%>' alt=""> 

我需要一些格式化文本的,所以我说的方法来验证码。我添加的方法虽然是服务器端方法。所以我认为这不是处理性能方面最好的方法。代码看起来像这样...

<span><%# trimItemName((DataBinder.Eval(Container.DataItem, "Name"))%></span> 

trimItemName(Object obj)是一个服务器端方法,显然会修剪名称。

有没有一种方法,我可以做到这一点使用JavaScript,所以做一个简单的字符串修剪(或任何其他类型的格式)不必在服务器端完成?

回答

0

你总是可以做到:

<script type="text/javascript"> 
    function trimItemName(input) { 
     //return trimmed string 
    } 
</script> 

<span> 
    <script type="text/javascript"> 
     document.write(
      trimItemName('<%# DataBinder.Eval(Container.DataItem, "Name") %>') 
     ); 
    </script> 
</span> 

但我真的不知道如何将其移动到客户端会买任何东西。如果用户禁用了JS或不支持它(大约10%的互联网用户),并且保持客户端和服务器端逻辑保持同步的开发开销,那么您可能无法修剪它。

+0

好点。谢谢(你的)信息。 – hanesjw 2009-03-05 20:46:07

0

就我个人而言,我会开始在服务器上放置这种字符串处理。直到我看到某种显着的性能下降时,我才真正认为它是一个问题。

相关问题