如何使用javascript标签发送参数?

时间:2009-04-21 20:15:03

标签: asp.net javascript query-string

如何在javascript标记中发送参数(使用QueryString)作为ASP.NET页面的source属性?

示例:<script language="javascript" src="myDomain/myPage.aspx?id=123&no=43"></script>

我在“myPage.aspx”中要做什么?

例如,我想根据它的src查询字符串将图片发送到脚本标记。

4 个答案:

答案 0 :(得分:3)

脚本标记用于在页面中包含javascript代码。如果要在页面上显示图像,即使是动态生成的图像,也要使用img标记,而不是脚本标记。

<img src="myDomain/myPage.aspx?id=123&no=43" alt="some text" />

通常情况下,你会使用HttpHandler(ashx而不是aspx),它只需构建图像(或从文件中读取),然后在响应中使用正确的MIME发送数据 - 类型,长度等

请参阅此reference,了解如何使用HttpHandler从数据库中检索图像。

答案 1 :(得分:2)

目前还不清楚你打算在myPage.aspx中做什么。由于它是一个脚本标记,它应该生成javascript代码。但是我没有看到你为什么需要动态生成你的javascript代码的原因。 Javascript变量基本上具有全局范围,因此在包含脚本标记之前在变量中定义图像。

因此,在您的html页面中,您可以在标题中执行以下操作:

<script type="text/javascript">
var imageURL = 'http://www.google.com/intl/en_ALL/images/logo.gif';
</script>
<script src="myScript.js" type="text/javascript"></script>

然后在myScript.js中:

alert("The image URL is: " + imageURL);
//do whatever processing with the image that you need to do...

谷歌分析曾经像这样工作(在他们采用更加面向对象的方法之前)。

答案 2 :(得分:1)

为什么要将图片发送到脚本标签?基本上你所拥有的将在客户端工作。在MYPage.aspx中,您需要输出要发送的内容。

我建议使用HttpHandler,它可以动态提供CSS,Javascript或图像等内容

答案 3 :(得分:0)

您所要做的就是为您的<SCRIPT>标记指定一个指向ASPX页面的SRC属性,就像您想要的那样。唯一的技巧是你必须让ASPX页面返回javascript,将contentType设置为text/javascript。 (确保它仅发回有效的javascript。)

以下两个文件证明它有效:

JavascriptLibraryTester.aspx

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="JavascriptLibraryTest.js.aspx?Color=red" type="text/javascript" charset="utf-8">
</script>
</head>
<body>
    <a href="javascript:showServerGeneratedJavascript()">show Server Generated Javascript</a>
</body>

JavascriptLibraryTest.js.aspx

<%@ Page Language="C#" %>
<%
    Response.ContentType = "text/javascript";
    string color = Request["Color"];
    string now = DateTime.Now.ToString();
%>
function showServerGeneratedJavascript(){
    alert('<%=now %>\n<%=color %>');
}