内联c#和asp.net页面中的多个语句

本文关键字:语句 asp net 内联 | 更新日期: 2023-09-27 18:02:53

在我的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"/>

内联c#和asp.net页面中的多个语句

恐怕这是不可能的。但是,您可以在这个助手类上编写另一个方法,它将同时调用这两个操作。
<asp:Image 
    ID="Image1" 
    runat="server" 
    ImageUrl='<%# MediaHelper.GetMediaUrlAndSetImageSize(Container.DataItem, this) %>' 
    Height="114" 
    Width="152"
/>

同样,将c#代码与ASPX混合可能会导致面条。我会尽量避免使用

您可以使用多个方法调用来完成您正在尝试做的事情:

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

或者只是将一个对象绑定到控件,该控件将所有这些值作为属性公开。