0

嗨,我想将 Google 图书预览按钮添加到我的网站。它的代码类似于:

<script> GBS_setLanguage('en');</script>            
<script>GBS_insertPreviewButtonPopup('ISBN:0596009208');</script>

现在的问题是我从上一页得到了 ISBN 号。所以我必须将它包含在页面上的 C# 代码中。那么如何做到这一点呢?我试过这样做,但它只是不编译

4

2 回答 2

0

使用此代码来做我想做的事......但它将脚本/谷歌预览按钮(在我的情况下)放置到 header 或 footer 。但没有其他方法可以做到这一点。

         HtmlGenericControl script1 = new HtmlGenericControl("script");
        script1.Attributes.Add("type", "text/javascript");
        script1.Attributes.Add("src", "http://books.google.com/books/previewlib.js");
        this.Page.Header.Controls.Add(script1);

        string GoogleScript = "";

        string isbncode = "";
        if (Page.Request.QueryString["isbn"] != null)
            isbncode = Page.Request.QueryString["isbn"];

        GoogleScript = "GBS_setLanguage('en'); GBS_insertPreviewButtonPopup('ISBN:";
        isbncode = isbncode + "');";

        HtmlGenericControl script3 = new HtmlGenericControl("script");
        script3.Attributes.Add("type", "text/javascript");
        script3.InnerHtml = GoogleScript + isbncode ;
        this.Page.Controls.Add(script3);
于 2012-04-08T05:58:28.960 回答
0

您可以轻松地将 ISBN 作为查询字符串参数包含在 url 中,并将其拉入您的 javascript 代码中,而无需服务器端包含。 如此处所示

function getQueryString() {
  var result = {}, queryString = location.search.substring(1),
      re = /([^&=]+)=([^&]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

//url: www.yourwebsite.com?isbn=123456789
var _ISBN = getQueryString()["isbn"];
GBS_setLanguage('en');
GBS_insertPreviewButtonPopup(_ISBN);
于 2012-04-08T06:20:36.590 回答