1

aspxファイルに次の行があります。

<asp:Image ID="Image1" runat="server" ImageUrl='<%# MediaHelper.GetMediaUrl(Container.DataItem) %>' Height="114" Width="152"/>

このようなインラインc#に別の行を追加することは可能ですか?

<asp:Image ID="Image1" runat="server" ImageUrl='<%# MediaHelper.GetMediaUrl(Container.DataItem); SetImageSize(this) %>' Height="114" Width="152"/>
4

2 に答える 2

2

これは不可能だと思います。ただし、このヘルパークラスに、2つの操作を同時に呼び出す別のメソッドを作成することもできます。

<asp:Image 
    ID="Image1" 
    runat="server" 
    ImageUrl='<%# MediaHelper.GetMediaUrlAndSetImageSize(Container.DataItem, this) %>' 
    Height="114" 
    Width="152"
/>

また、C#コードとASPXを混在させると、スパゲッティが発生する可能性があります。なるべく避けたいと思います。

于 2011-07-19T21:48:22.077 に答える
1

複数のメソッド呼び出しを使用して、実行しようとしていることを実行できます。

<asp:Image 
    ID="Image1" 
    runat="server" 
    ImageUrl='<%# MediaHelper.GetMediaUrl(Container.DataItem) %>' 
    Height="<%# MediaHelper.GetMediaHeight(Container.DataItem) %>" 
    Width="<%# MediaHelper.GetMediaWidth(Container.DataItem) %>"
/>

または、これらすべての値がプロパティとして公開されているコントロールにオブジェクトをバインドするだけです。

于 2011-07-19T22:13:23.803 に答える