将脚本添加到ASPX页面
嗨我想添加谷歌书预览按钮到我的网站。 它的代码是一样的东西:将脚本添加到ASPX页面
<script> GBS_setLanguage('en');</script>
<script>GBS_insertPreviewButtonPopup('ISBN:0596009208');</script>
现在的问题是我得到的前一页的ISBN号。 所以我必须将其包含在页面上的C#代码中。 那么如何做到这一点呢? 我试过但它只是不编译
使用此代码做我想做的事......但它将脚本/谷歌预览按钮(在我的情况下)放到页眉或页脚。但没有其他方式来做到这一点。
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);
您可以轻松地将ISBN作为查询字符串参数包含在url中,并将其拖入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);
真棒:)它工作谢谢人:)真的很感谢帮助:) – AnujKu 2012-04-09 04:55:17
没问题。确保你选中并且提出你在stackoverflow上找到有用的答案。它可以帮助其他人更迅速地找到答案,并为回答问题的人建立代表。 :) – 2012-04-09 18:32:18
你应该已经注入的是使用JavaScript的RegisterClientScriptBlock作为Sarwar026建议 - 更清洁(和预期)做这样的这样的东西的方式。 – Andrey 2012-04-08 18:38:32