现有一动态生成的图片,要用JS获取图片位置传到后台处理,在按钮点击事件里把位置保存到数据库
如果不用Hidden,不通过URL怎么把位置参数传给后台?如果用AJAX怎么处理?最好能给点示例代码

解决方案 »

  1.   

    //得到一个xmlhttprequest对象
    function xmlhttpOBJECT()
    { var xmlHttp;
    //var browser = navigator.appName;
    try {
       xmlHttp = new XMLHttpRequest();
     

    catch (trymicrosoft)
    {
       try {
        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
       
       } 
       catch (othermicrosoft) 
       {
        try {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        
         } 
       catch (failed) 
       {
         xmlHttp = false;
         alert('浏览器不支持!');
        }
       }
      }
      return xmlHttp;
    }
    function here(url)
    {
    //url 图片位置
    //http://www.网站.com/网页.aspx  网站接收页面 后台
    // strArr 接收后台返回的参数
    var xmlhttp=xmlhttpOBJECT();
    xmlhttp.open("POST","http://www.网站.com/网页.aspx?url=url,false);
    xmlhttp.send();
    var strArr = xmlhttp.responseText;
    }
      

  2.   

    ajax一般是post,get这两种,
      

  3.   

    楼上AJAX     或者用SESSION   都可以的! 很多方法的..
      

  4.   

    先谢谢2楼,我所说的图片位置不是指图片的物理路径,而是指top和left属性
    图片是动态生成,可以拖动的,我所要做的是要保存它的定位
      

  5.   

    给个方法你,你可以参考一下。//这个是后台的方法
            [AjaxPro.AjaxMethod]
            public bool CheckAuthidContain(  int authId  )
            {
                bool retValue = false;
                IList list = Common.Cache.CommonRule.GetInstance().GetCacheEntityListByEntityName("Auth");
                if ( list != null && list.Count > 0 )
                {
                    foreach (DAL.Entity.Auth auth in list)
                    {
                        if (auth.AuthId == authId)
                        {
                            retValue = true;
                        }
                    }
                }
                return retValue;
            }
        <script language="javascript" type="text/javascript">
    //前台的方法
          function TxtAuthIdChanged()
          {
              if( window.document.getElementById( '<%=this.txtAuthId.ClientID%>' ) != null && window.document.getElementById( '<%=this.txtAuthId.ClientID%>' ).value != '' )
              {
    //这里MaintenanceCenter.Config.Auth.AuthEdit表示CheckAuthidContain函数坐在的位置,一级一级下去,从项目名到文件夹到文件,最后到方法
                  MaintenanceCenter.Config.Auth.AuthEdit.CheckAuthidContain( window.document.getElementById( '<%=this.txtAuthId.ClientID%>' ).value , TxtAuthIdChangedCallBack );
              }
          }
          //这里使用一个回调函数。
          function TxtAuthIdChangedCallBack( res )
          {
              if( res.value )
              {
                  alert( "该权限号已经被占用!" )
                  window.document.getElementById( '<%=this.txtAuthId.ClientID%>' ).value = '';
              }
          }
        </script>
      

  6.   

    Session,viewstate这些应该不行,因为点击按钮后不管是否POSTBACK,图片区域会刷新
    动态控件就消失了,根本获取不到,Viewstate等是在INIT阶段才形成的
      

  7.   

    就是用ajax就行了...具体代码不写了.
    如果对ajax没有什么认识就找些入门的资料看看吧,不然写出来你也不知道什么意思
      

  8.   

    js和AJAX都看过一点,还是太菜了啊
    动态控件的问题和这个传参数的问题弄了很久都没搞明白
      

  9.   

    问题不是很难,ajax控件很多,都可以解决...
      

  10.   

        <script type="text/javascript">
        function show(path)
        {
            alert('我得到了路径:'+path);
        }
        </script>
        string filepath="images/ad";    Page.RegisterStartupScript("", "<script>show(" + filepath + ")</script>");
      

  11.   

    可以这样子,在页面中写一个空的JS标签 <script id="jsCode"></script>
    在点击按钮要保存图片的位置时://取到图片的位置
    var m_top = document.getElementById("img").style.top;
    var m_left = document.getElementById("img").style.left;
    //将参数传至save.ashx
    document.getElementById("jsCode").src="save.ashx?top=" + m_top + "&left=" + m_left;在save.ashx中得到传的参数,然后保存就行,以上说的是.net方法,如果是jsp的话,把参数传至某个jsp页面也可以
      

  12.   

    maybe it can help you 
    http://blog.csdn.net/greatchao88/archive/2008/06/03/2508628.aspx
      

  13.   

    都想复杂了,你把IMG 加个runat="server" 不就搞定