ASPX<%#EVAL%>在jQuery?

时间:2014-01-22 20:49:48

标签: jquery asp.net eval

尝试在Big Bike Parts, Inc.

实现jQuery Corner Page Peel

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

我们可以在产品页面中添加各种图像,并使用以下代码元素完成此操作:

product.vb

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

product.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字段中标识了图像的产品的剥离效果。但是,<%# Eval("PROMOIMG")%>似乎无法在<script>代码中使用。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个

<%= someValue %>

而不是

<%# Eval("PROMOIMG")%>

关于

'someValue'

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

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

public partial class _Default : Page
{
    public string someValue = "Hello World";
相关问题