我在页面上放了一个按钮,在单击事件里我加入了Image1.ImageUrl = "Code.aspx"
我怎么做单击此按钮,页面不被刷新。

解决方案 »

  1.   

    如果你的按纽执行的是函数的话,那么在函数的最后加上:return false;
      

  2.   

    把按钮的验证属性设置为false;
      

  3.   

    按钮的验证属性我也设为假了。二楼的那位哥哥说的onclick="return false;"
    加在哪里。
      

  4.   

    <script language="javascript">
    var b = false;
    function changeImage()
    {
    var obj = document.getElementById("<%= Image1.ClientID %>");
    if(!b)
    {
    obj.src = "land.bmp";
    b = true;
    }
    else
    {
    obj.src = "load_pic2.jpg";
    b = false;
    }
    return false;
    }
    </script>
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <asp:Image id="Image1" style="Z-INDEX: 101; LEFT: 104px; POSITION: absolute; TOP: 56px" runat="server"
    ImageUrl="load_pic2.jpg"></asp:Image>
    <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 224px; POSITION: absolute; TOP: 24px" runat="server"
    Text="Button"></asp:Button>
    </form>
    </body>private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    Button1.Attributes["onclick"] = "return changeImage();";
    }
    }
      

  5.   


    你的imageurl是在后台代码才可以设置!居然想不回传不刷新?
      

  6.   

    要想不刷新就照lcin的js方法来做
    123楼误导你了
      

  7.   

    我就是不想刷新页面,而给Image1重新复值。要怎么做啊!!楼上几位哥哥说的,我有点不明白。
      

  8.   

    没有直接的属性设置一下吗??我不想调用javascript就是想把imageUrl的值重新复值一下。达到刷新认证码的效果?
      

  9.   

    你的单击事件是否就是改变image1显示的图片?
    如果是的话,那么将<script language="javascript">
    var b = false;
    function changeImage()
    {
    var obj = document.getElementById("<%= Image1.ClientID %>");
    if(!b)
    {
    obj.src = "land.bmp";
    b = true;
    }
    else
    {
    obj.src = "load_pic2.jpg";
    b = false;
    }
    return false;
    }
    </script>
    放在html页面的《head》标签内!
      

  10.   

    刷新认证码?汗,除非你的验证马图片是在单击前就已经取到了,不用ajax肯定要刷新的
      

  11.   

    属性设置?有属性设置,但是该控件的属性设置代码(imageurl只能在后台做即提交服务器)你看csdn的就是这样的
      

  12.   

    <img src="xxx.jpg" id="img1">
    <input onclick="document.getElementById('img1').src='xxx2.jpg';" value="ChangeImage" type=button>
      

  13.   

    public partial class Code : System.Web.UI.Page
    {
        private Bitmap bmp;
        private Graphics g;
        private MemoryStream ms;
        private Byte[] array;
        private Random ro;
        private static string code;
        protected void Page_Load(object sender, EventArgs e)
        {
            bmp = new Bitmap(90, 25);
            g = Graphics.FromImage(bmp);
            ms = new MemoryStream();  ///定义一个内存流
            array = new Byte[3];
            ro = new Random();
            ro.NextBytes(array);
            code = array[0].ToString("X") + array[1].ToString("X") + array[2].ToString("X");//产生认证码
            g.DrawString(code, new Font("MS Serif", 15,FontStyle.Italic), new SolidBrush(Color.Black), 0, 0);
            bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            Response.ClearContent();
            Response.ContentType = "image/Png";
            Response.BinaryWrite(ms.ToArray());
            Response.End();        
        }
        public string getCode 
        {
            set
            {
                getCode = value;        }
            get
            {
                return code;
            }
        }
    }
    产生认证码的程序,是这样结构的。
      

  14.   

    我是想,点击按钮时重新给image复值,这样产生认证码的页面不就被重新加载了吗?前面的认证码不就变了吗?
      

  15.   

    这个和你验证马结构无关!
    如果不想刷新就是要在客户端来设置img那用javascript来设置
      

  16.   

    刷新验证码
    <img src="验证码.aspx" id="img1">
    <input onclick="document.getElementById('img1').src=验证码.aspx?'+Math.random();" value="ChangeImage" type=button>注意验证码页面产生的验证码与客户端的同步。
      

  17.   

    呵呵,你对于web机理似乎都不太清楚啊,
    在客户端也就是使用者它那边得到只是html代码(不一定正确),那么产生html代码的工作是由web服务器来完成,你的那段长生验证码的页面所生成的html代码明显是由服务器来完成,所以的话你这样转换验证马肯定是要回传服务器的
      

  18.   

    不好意思掉了个引号
    <img src="验证码.aspx" id="img1">
    <input onclick="document.getElementById('img1').src='验证码.aspx?'+Math.random();" value="ChangeImage" type=button>
      

  19.   

    可以在‘验证码.aspx’的pageload控制session,这样在验证页就可以根据用户输入和session值进行判断。每次img的src改变就会引起‘验证码.aspx’的session变化,可以解决同步问题,但会有超时问题,但是不会有太大影响的,无非多验证一次。
      

  20.   

    你可以看一下csdn的验证登录应该也是用的session,如果登录页打开30分钟以后你再验证登录会提示验证失败的。
      

  21.   

    几位哥哥好像不太明白小弟的意思,我的意思是当我给Image1.ImageUrl="Code.aspx"重新复值时是不是会执行Code.aspx里的Page_Load事件。
      

  22.   

    你看下你的Image1.ImageUrl="Code.aspx"这个语句在哪里写的?在后台的代码里面写这个肯定要回传刷新你的问题到底是问刷新还是问你那样赋值对不对?
      

  23.   

    无论是否回传Code.aspx都将执行Code.aspx里的Page_Load事件即使你不加Math.random();只要在客户端重新对img的src赋值就会引起Code.aspx的page_load
      

  24.   

    我的意思,我这样复值,不刷新页面是不是会重新执行Code.aspx里的page_load事件。
      

  25.   

    试验,不行哈!小见怪,小弟是刚学.net和asp比老是不过来弯子
      

  26.   

    晕 怎么都搞得那抹复杂呢?<input type="button" value="我的按钮,点吧,不提交表单的">
      

  27.   

    晕,我不懂ajax要客户得到好的体验,就是常说的无刷新,这样的方法是有的1,可以使用 XMLHttpRequest,方法网上很多
    2,.Net2.0的话,可以实现ICallBackEventHandler接口,
    实现方法见MSDN: Implementing Client Callbacks Without Postbacks in ASP.NET Web Pages
      

  28.   

    this.Button1.Attributes.Add("onClick","return false;")或将按钮的CausesVilidation属性设为False----个人意见,请多多指教。