ASP.NET 4.0:我不知道 UpdatePanel 如何更新图像控件
ASP.NET 4.0: I cannot figure out how an UpdatePanel is updating an image control
我无法弄清楚 UpdatePanel 如何更新图像。网站主页上有一个图像旋转功能,我正试图从该旋转中删除一个图像——元素开始的图像。
据我所知,这是所涉及的全部代码:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="text-align: left; padding-bottom: 5px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:HiddenField ID="HiddenField_PanelID" runat="server" />
<asp:Timer ID="Timer1" runat="server" Interval="18000" OnTick="Timer1_Tick">
</asp:Timer>
<div style="text-align: center; padding-bottom: 5px;">
<asp:Image ID="ImageBanner" runat="server" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
看起来很普通的配置。计时器导致回发。我可以看到 HiddenField 值增加,图像的 src 随后更新。
但是我找不到任何可以说明这是如何发生的事情!这是这些控件的某种默认行为吗?
• 整个网站几乎没有.cs 文件。
• 页面配置为CodeBehind;没有内联脚本。
• 我找不到与此相关的任何插件或其他脚本。
• 有jQuery和1个"common.js"没有相关功能。
• 母版页上没有任何内容(因为此内容无论如何都完全包含在每个页面中)。
• 此网站没有任何类型的 App_* 文件夹。有一个 bin 文件夹,包含 AjaxControlToolkit.dll 和一个自定义的 www.[MySite].com.dll 和 .pdb(可能在那里?我不知道如何查看或找出对象浏览器之外的内容这似乎基本上表明它包含整个站点结构作为对象。)
• Web.Config没有线索;它相当稀疏和简单。
• 属性面板对我没有任何意义 — 没有为 ScriptManager、UpdatePanel、Timer、HiddenField 或 Image 控件定义事件处理程序。双击事件的任何相应空白字段或 属性 自动为该字段创建一个函数并将其弹出到页面上(意味着它尚未定义,对吗?)。唯一看起来有用但我不知道我从中获取所有信息的地方被列为 "Collection" 并且单击 "more"/省略号按钮不可避免地会弹出一个包含所有空字段的对话框。
• 我在整个站点中搜索了对 UpdatePanel、HiddenField 和 ImageBanner ID 的引用。只有元素本身。
• 我可以将初始图像(我试图从旋转中删除)移出其当前文件夹,但这只会破坏 link;图像控件仍会尝试从同一图像开始。
• Header ContentPlaceHolder 中有一个预加载函数,但我看不出它有什么明显的关联(预加载图像):
<script type="javascript">
function preload() {
var i = 0;
var imageObj = new Image();
for (i = 1; i <= 32; i++) {
//document.write('<img src="' + imageArray[i] + '" />'); // Write to page (uncomment to check images)
imageObj.src = '/images/RoundedBanners/banner' + i + '.jpg';
}
}
preload();
</script>
由于我对 VS Web Developer 或 ASP.NET 的了解有限,我什至不知道该去哪里找。肯定不在 IIS 或 ASP 某处的配置中...
一切都是从不同的位置编辑的,使用颠覆和源代码控制;然后发布到现场。
所以,www.[mysite].dll 就是线索。我需要知道它是如何工作的。
我无法弄清楚 UpdatePanel 如何更新图像。网站主页上有一个图像旋转功能,我正试图从该旋转中删除一个图像——元素开始的图像。
据我所知,这是所涉及的全部代码:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="text-align: left; padding-bottom: 5px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:HiddenField ID="HiddenField_PanelID" runat="server" />
<asp:Timer ID="Timer1" runat="server" Interval="18000" OnTick="Timer1_Tick">
</asp:Timer>
<div style="text-align: center; padding-bottom: 5px;">
<asp:Image ID="ImageBanner" runat="server" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
看起来很普通的配置。计时器导致回发。我可以看到 HiddenField 值增加,图像的 src 随后更新。 但是我找不到任何可以说明这是如何发生的事情!这是这些控件的某种默认行为吗?
• 整个网站几乎没有.cs 文件。
• 页面配置为CodeBehind;没有内联脚本。
• 我找不到与此相关的任何插件或其他脚本。
• 有jQuery和1个"common.js"没有相关功能。
• 母版页上没有任何内容(因为此内容无论如何都完全包含在每个页面中)。
• 此网站没有任何类型的 App_* 文件夹。有一个 bin 文件夹,包含 AjaxControlToolkit.dll 和一个自定义的 www.[MySite].com.dll 和 .pdb(可能在那里?我不知道如何查看或找出对象浏览器之外的内容这似乎基本上表明它包含整个站点结构作为对象。)
• Web.Config没有线索;它相当稀疏和简单。
• 属性面板对我没有任何意义 — 没有为 ScriptManager、UpdatePanel、Timer、HiddenField 或 Image 控件定义事件处理程序。双击事件的任何相应空白字段或 属性 自动为该字段创建一个函数并将其弹出到页面上(意味着它尚未定义,对吗?)。唯一看起来有用但我不知道我从中获取所有信息的地方被列为 "Collection" 并且单击 "more"/省略号按钮不可避免地会弹出一个包含所有空字段的对话框。
• 我在整个站点中搜索了对 UpdatePanel、HiddenField 和 ImageBanner ID 的引用。只有元素本身。
• 我可以将初始图像(我试图从旋转中删除)移出其当前文件夹,但这只会破坏 link;图像控件仍会尝试从同一图像开始。
• Header ContentPlaceHolder 中有一个预加载函数,但我看不出它有什么明显的关联(预加载图像):
<script type="javascript">
function preload() {
var i = 0;
var imageObj = new Image();
for (i = 1; i <= 32; i++) {
//document.write('<img src="' + imageArray[i] + '" />'); // Write to page (uncomment to check images)
imageObj.src = '/images/RoundedBanners/banner' + i + '.jpg';
}
}
preload();
</script>
由于我对 VS Web Developer 或 ASP.NET 的了解有限,我什至不知道该去哪里找。肯定不在 IIS 或 ASP 某处的配置中...
一切都是从不同的位置编辑的,使用颠覆和源代码控制;然后发布到现场。
所以,www.[mysite].dll 就是线索。我需要知道它是如何工作的。