【问题标题】:Call function from GridView source html从 GridView 源 html 调用函数
【发布时间】:2011-01-28 09:34:47
【问题描述】:

这是我的 GridView HTML:

<asp:GridView ID="gvPortfolioImages" runat="server" AutoGenerateColumns="False" DataSourceID="ldsPortfolioImages">
    <Columns>          
        <asp:TemplateField HeaderText="Image" SortExpression="Filename">
            <ItemTemplate>
                <img src='<%# Portfolio.GetImageURL(Eval("Thumbnail").ToString()) %>' alt='<%# Eval("Thumbnail") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

我在尝试调用 Portfolio.GetImageURL() 时遇到以下错误:

当前上下文中不存在名称“Portfolio”

我以前见过这样调用的函数,但它似乎对我不起作用。谁能告诉我是什么问题?

【问题讨论】:

    标签: c# asp.net namespaces


    【解决方案1】:

    在您的 aspx 页面中,您需要包含命名空间,以便编译器知道您的 Portfolio 对象,我假设它是一个带有静态函数的静态类(如果不是,您需要在使用之前实例化您的 Portfolio 对象) .这是您需要在 aspx 文件顶部的 &lt;@ Page 之后添加的 sn-p。当然用正确的命名空间替换字符串。

    <%@ Import Namespace="YourApps.Namespace.Where.PorfolioIs" %>
    

    发生错误是因为它不知道Portfolio 是什么。就像您尝试在没有 using 语句(包括您的 Portfolio 类所在的命名空间)的情况下在代码隐藏(.cs 文件)中引用它一样。

    【讨论】:

    • 谢谢,我忘记导入正确的命名空间了。
    【解决方案2】:

    假设 Portfolio 是一个有效对象,您是否通过 using 语句提供了对其命名空间的引用?还要检查以确保 GetImageURL() 是一个静态函数。您可能只想在 GridView 的代码隐藏中放置一个模拟受保护的静态字符串 GetImageURL() 函数。您也许可以通过反复试验确定是根本原因。

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      • 2012-01-07
      • 2014-08-28
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多