c#
  • asp.net
  • javascript
  • 2009-03-05 11 views 0 likes 
    0

    私はいくつかのHTMLコントロールがいくつかのサーバー側のDataSourceから移入されているリピータコントロールを持っています。リピータ内部のこれらのコントロールのコードは次のようになります。..リピータ内のデータバインドフィールドでクライアントサイドテキストの書式設定を行うにはどうすればよいですか?

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

    私は、このコードにメソッドを追加したように、テキストの一部をフォーマットする必要がありました。私が追加した方法はサーバーサイドの方法です。だから私は、これがパフォーマンスの面で物事を処理する最良の方法ではないと仮定しています。コードは次のようになっています...

    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

    0

    個人的には、この種の文字列処理をサーバーに配置することから始めます。何らかの重要なパフォーマンスが見られるまでは、実際にはそれを問題とはみなさないでしょう。

    関連する問題