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

恐怕这是不可能的。但是您可以在此帮助程序类上编写另一个方法,该方法将同时调用这两个操作。

<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 回答