将脚本添加到ASPX页面

时间:2012-04-07 11:42:15

标签: c# javascript asp.net google-books

您好我想在我的网站上添加Google图书预览按钮。 它的代码类似于:

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

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

2 个答案:

答案 0 :(得分:0)

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

         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);

答案 1 :(得分:0)

您可以轻松地将ISBN作为查询字符串参数包含在网址中,并将其拉入您的javascript代码,而无需服务器端包含。 As seen here

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);