######## 一个非常具有挑战性的问题 #########
大师:
请您帮我设计一种想法实现以下小问题:
现在在某个页面上有一个WebForm Button(名字 bt),一个WebForm TextBox(名字tb);还有一个HTML类型的图片框按钮(name 为 Picture),由两幅图片轮流显示,假设这两幅图片的名字为:1.gif 和 2.gif,在任何状态下该图片框只能显示这其中的一幅。再假设在初始化时,图片框显示的图片为1.gif。
过程是这样的,当我点击该图片框时,显示的图片由当前图片切换到另一幅图片,同时把新的图片的名字通过JavaScript函数记录到TextBox(tb)中去。当点击Button(bt)时产生提交动作。当PostBack回来后,图片框应该显示的是初始化时的图片,也就是1.gif。
现在我要做的是,当PostBack回来后,图片框显示的内容还是提交前的图片。
我的具体做法是在Picture的OnLoad事件中获取TextBox tb的内容,再根据内容设置图片框显示的图片。具体内容为:(ASP.NET)
<asp:TextBox id="tb"runat="server"></asp:TextBox>
<IMG style="CURSOR: hand;" id="Picture" alt="Hello" src="1.gif" onclick=" f1();" onload="f2();">
<asp:button id="bt" runat="server" Width="113px" Text="Button"> </asp:button>
JavaScript脚本:
<script language="javascript">
var who=1;
function f1()
{
if(who==1)
who=2;
else
who=1;
document.all("Picture").src=who+".gif";
document.all("tb").value=""+who;
}
function f2()
{
t=document.all("tb").value;
if(t!="")
{
who=document.all("tb").value;
document.all("Picture").src=who+'.gif'
}
}
</script>
但是每次提交后能够回到PostBack之前的图片,但是总会弹出一个警告框,内容为
Stack Overflow at Line:0
请大师分析一下原因
问题点数:0、回复次数:0Top




