关于Jquery,attr在asp.net中的问题,每次点击更换图片的src路径

点击的时候,新图片会闪一下,之后又还原成老的图片,代码如下:
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//$(".go").click(function () {
// alert("宽是:" + $("img").attr("width"));
// $("img").attr("width", "180");
$("#<%= Button1.ClientID %>").click(function () {
$("#<%= Image1.ClientID %>").attr("src", "images/5.jpg");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/6.jpg" />
</div>
</form>
</body>
各种方法都试过了,就是不能更新,请高手帮我看看问题出在哪了,谢谢。

第1个回答  2012-05-06
你的图片路径是否正确啊?我看你下面的那个用的是当前服务器下的路径。而上面要更换的是当前路径下的images文件夹,你的images是放在当前路径下的子文件夹?
还有一个可以试试,
把<asp:Image ID="Image1" runat="server" ImageUrl="~/images/6.jpg" />放在一个UpdatePanel里试试。.net只是稍微用过点,曾经这样解决过问题。希望对你能有帮助。追问

路径应该没有问题,在HTML查看源文件的时候下面就是src="images/6.jp"了,而且
类型“System.Web.UI.UpdatePanel”不具有名为“Image”的公共属性。

追答

非得用jquery吗?直接在.cs文件里写一个后台的onclick事件做替换不行吗?这段jquery确实看不出什么问题来。
你把代码改一下
$("#").click(function () {
$("#").attr("src", "images/5.jpg");
alert($("#").attr("src"));
});
看看他返回的是什么。

追问

返回的是新图片的地址,而且也显示了新图片,但把弹出框关掉后,他又回到原来的图片了

第2个回答  2012-05-06
道理很简单,你按Button1的时候,客户端是更换了图片,但同时客户端也向服务器端作了提交,网页也刷新了一次,还回到原来的初始状态.
把<asp:Button ID="Button1" runat="server" Text="Button" />
改成<input type="button" value="Button" id="btn">

然后将 $("#<%= Button1.ClientID %>").click(function () {
改成为: $("#btn").click(function () {本回答被提问者采纳
相似回答