【问题标题】:ASPX <%# EVAL %> in jQuery?ASPX <%# EVAL %> 在 jQuery 中?
【发布时间】:2014-01-22 20:49:48
【问题描述】:

尝试在 Big Bike Parts, Inc. 处实现 jQuery 角页剥离

目前我们的网站与我们的库存管理系统集成,网站上显示的所有信息实际上都存储在我们的 Microsoft Dynamics SQL 数据库中。

我们能够将各种图像添加到我们的产品页面,并使用以下代码元素完成了此操作:

产品.vb

'PROMO IMAGE
    Public ReadOnly Property PROMOIMG() As String
        Get
            Return m_dictData("PROMOIMG")
        End Get
    End Property

产品.aspx

<div class="ProductTemplate_Promo">
<img src="<%=Vroot %>/<%# Eval("PROMOIMG")%>" />
</div>

这很有效,允许我们在库存管理系统中设置图像的路径,并且只需一行代码即可为产品页面提取所有不同的图像。

我想将其合并到同一页面上的 jQuery 脚本中,例如:

    <script src="<%=Vroot %>/script/pagepeel/jquery.peelback.js"></script>

<%-- PAGE PEEL IMAGE --%>
<%If (m_dictProductDict.Exists("PROMOIMG")) Then%>
<script>
$(function() {
  $('body').peelback({
    adImage  : '<%=Vroot %>/<%# Eval("PROMOIMG")%>',
    peelImage  : '<%=Vroot %>/script/pagepeel/assets/peel-image.png',
    clickURL : 'http://www.bigbikeparts.com/',
    smallSize: 50,
    bigSize: 500,
    gaTrack  : true,
    gaLabel  : 'Big Bike Parts',
    autoAnimate: true
  });
});
</script>

此代码在实践中有效,因为它仅在我们的库存系统中的 PROMOIMG 字段中识别图像的产品上显示此页面剥离效果。但是,&lt;%# Eval("PROMOIMG")%&gt; 似乎在 &lt;script&gt; 标记内不起作用。

是否有访问此变量的替代解决方案?我们使用了&lt;%=Vroot %&gt;/script/pagepeel/demo/peel-ad.png,但是这不允许我们为不同的部分制作不同的页面剥离。

谢谢!

【问题讨论】:

    标签: jquery asp.net eval


    【解决方案1】:

    试试这个

    <%= someValue %>
    

    而不是

    <%# Eval("PROMOIMG")%>
    

    关于

    'someValue'
    

    您在示例代码中显示为Eval("PROMOIMG"),因为您的代码不是网格或中继器的一部分,您需要直接从控件、会话、视图状态或服务器端变量中获取它。您的代码示例不允许我了解该值的原始来源在哪里。

    要在工作中看到这一点,请在后面的代码中添加:

    public partial class _Default : Page
    {
        public string someValue = "Hello World";
    

    【讨论】:

    • 说实话,我在编码方面相当缺乏经验。我可以根据需要进行基本的复制/粘贴和复制代码/修改它。值的来源是我们的 SQL 库存数据库。简单来说,我有一张商品卡片,上面有型号,还有一个用于输入路径和图像的列,这样选择的零件就会在 SQL 数据库的 PROMOIMG 列中有一个值。读取此值所需的唯一代码行是将:Public ReadOnly Property PROMOIMG() As String Get Return m_dictData("PROMOIMG") End Get End Property 插入到 product.vb 文件中
    • 然后我可以在 product.aspx 文件中使用:&lt;%# Eval("PROMOIMG")%&gt; 调用该属性
    • 如果 PROMOIMG 是页面的属性,则不需要 EVAL 函数,只需像我使用 someValue 一样使用 PROMOIMG
    • 这样做返回:编译器错误消息:BC30451:未声明名称“PROMOIMG”。我想我对如何声明财产缺乏了解。在我看来,我可以输入:&lt;img src="&lt;%=Vroot %&gt;/&lt;%# Eval("PROMOIMG")%&gt;" /&gt;,它会显示 img,但往下走一行并将其放入 &lt;script&gt; 中,同样的 &lt;%=Vroot %&gt;/&lt;%# Eval("PROMOIMG")%&gt; 不起作用。这对我来说没有意义。我需要在哪里定义这个值?这个新定义是否需要一直向后工作才能从 SQL 调用,或者它可以以某种方式从 .vb 中已经定义的值中获取?
    • @TheMrMystery 请注意变量 someValue 在页面类上声明。所以需要你的 PROMOIMG 变量
    猜你喜欢
    • 1970-01-01
    • 2013-06-08
    • 2011-08-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    相关资源
    最近更新 更多