gpt4 book ai didi

asp.net - 这个 jscript 会在 .ASCX 页面内运行吗?

转载 作者:行者123 更新时间:2023-11-28 16:39:46 25 4
gpt4 key购买 nike

这会在我的 ASP.Net 项目的 ASCX 文件中运行吗?我似乎无法让它工作,只是想知道是否缺少一些特定的东西?我需要包含“runat="server"”吗?

<!--[if lte IE 6]>
<script type="text/javascript">

window.onload = function() {

var images = document.getElementById("GetQuote").getAttribute("ImageUrl");

for (var i = 0; i < images.length; i++) {

var image_png_src = images[i].src;
var image_gif_src = image_png_src.replace(".png", ".gif");
images[i].src = image_gif_src;
}
};
</script>
<![endif]-->

最佳答案

此 JavaScript 函数似乎正在尝试引用无法从客户端访问的 ASP.NET Web 控件属性。但是,您可以引用 ASP.NET 输出到页面的 HTML 实体及其属性。

假设您的 JavaScript 代码是 .ascx 代码中的代码,请更改此行:

var images = document.getElementById("GetQuote").getAttribute("ImageUrl");

对此:

var images = document.getElementById('<%=GetQuote.ClientID%>').getAttribute("src");

它的作用是插入 ASP.NET 为 GetQuote 创建的客户端 ID Image控制,以便可以从客户端引用它。它还引用了 HTML img 的正确属性。对应于 src 的元素 ( ImageUrl )服务器端属性Image控制。

编辑:在看到 TheVillageIdiot 的回复(并更仔细地阅读您的代码,我最初应该这样做)后,我注意到您正在尝试使用 images变量作为数组。您可能正在尝试匹配 ID 中包含文本“GetQuote”的多个图像元素(例如 GetQuote1、GetQuote2 等)。

假设您需要在客户端执行此操作,并且您没有使用像 jQuery 这样的框架,请尝试以下操作:

window.onload = function() 
{
// get all img elements on the page and load them into an array
var images = document.getElementsByTagName("img");

// iterate through the image array
for (var i = 0; i < images.length; i++)
{
// check that the current image's id contains "GetQuote" (case sensitive)
if (images[i].id.indexOf("GetQuote") >= 0)
{
var image_png_src = images[i].src;
var image_gif_src = image_png_src.replace(".png", ".gif");
images[i].src = image_gif_src;
}
}
};

关于asp.net - 这个 jscript 会在 .ASCX 页面内运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1554667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com