asp.net - 想要使用jquery弹出窗口,但从服务器端获取数据

标签 asp.net javascript jquery html

当有人点击我的 Google AdWords 链接时,如下所示:

http://www.myshoppingsite.com/product/rubberball.aspx?promo=promo123

我希望我的 aspx 页面读取“promo”参数,点击数据库拉回一些数据,然后在产品页面顶部向用户显示一个漂亮的 jquery 类型弹出窗口。用户可以阅读有关促销的所有信息,然后关闭该弹出窗口并进入他们想要访问的产品页面。

我不知道该怎么做...我是读取参数并从客户端获取数据(通过 Web 服务或页面方法),还是获取数据并从服务器端调用 javascript?

我之前创建过jquery弹出窗口,但数据一直在客户端。我想显示一个弹出窗口,但从数据库获取数据。

有什么想法吗?

最佳答案

如果你认真思考一下,在这种情况下没有理由返回服务器。您可以简单地检查服务器端是否 promo GET参数被传递,如果是则显示隐藏的<div>附有促销信息:

<div style='display: none;' id='promo'>
....
</div>

一旦你这样做了,你可以简单地使用一些 jQuery 代码来检查这是否隐藏 <div>存在,如果存在则显示模式:

$(function() {
    if($('#promo').length > 0) {
        showModal($('#promo').html());
    }
});

如果您坚持通过 AJAX 查询服务器,这也相当简单:

function gup( name ) {
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

$(function() {
    var promo = $.trim(gup('promo'));
    if(promo != '') {
        $.get('my/url/whatever.php', {promo: promo}, function(data) {
            showModal(data);
        });
    }
});

既然您说过您有使用 jQuery 显示模式窗口的经验,我不会详细介绍 showModal 的内容。应该做;我只想说它应该简单地激活您的 jQuery 插件用来显示模式窗口的任何内容。

关于asp.net - 想要使用jquery弹出窗口,但从服务器端获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004490/

相关文章:

javascript - div 向左浮动导致溢出

asp.net - WebMatrix sql LIKE %

javascript - JavaScript 中的连接

javascript - 如何在没有 Node.js/NPM 的情况下将我的 Web 应用程序转换为 Angular 4

jquery - td.click 在 jQuery 中不会触发

javascript - 为什么 jquery 点击事件在 Firefox 上没有触发?

javascript - 将文本框中的文本转换为 keyup 上的密码项目符号

javascript - 如何从 JS 中的函数访问父对象 "this"?

javascript - 如果我选择前一行日期不更新,并且单击删除时,JQuery 克隆单击“添加更多”按钮,则顶部总结果值不会减少

javascript - 我可以运行在禁用的复选框中显示工具提示的 .hover 吗?