繁体   English   中英

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

[英]multiple statments in inline c# on and asp.net page

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

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

<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) %>"
/>

或者只是将 object 绑定到将所有这些值作为属性公开的控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM