如何从前台传参数给后台 现有一动态生成的图片,要用JS获取图片位置传到后台处理,在按钮点击事件里把位置保存到数据库如果不用Hidden,不通过URL怎么把位置参数传给后台?如果用AJAX怎么处理?最好能给点示例代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //得到一个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;} ajax一般是post,get这两种, 楼上AJAX 或者用SESSION 都可以的! 很多方法的.. 先谢谢2楼,我所说的图片位置不是指图片的物理路径,而是指top和left属性图片是动态生成,可以拖动的,我所要做的是要保存它的定位 给个方法你,你可以参考一下。//这个是后台的方法 [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> Session,viewstate这些应该不行,因为点击按钮后不管是否POSTBACK,图片区域会刷新动态控件就消失了,根本获取不到,Viewstate等是在INIT阶段才形成的 就是用ajax就行了...具体代码不写了.如果对ajax没有什么认识就找些入门的资料看看吧,不然写出来你也不知道什么意思 js和AJAX都看过一点,还是太菜了啊动态控件的问题和这个传参数的问题弄了很久都没搞明白 问题不是很难,ajax控件很多,都可以解决... <script type="text/javascript"> function show(path) { alert('我得到了路径:'+path); } </script> string filepath="images/ad"; Page.RegisterStartupScript("", "<script>show(" + filepath + ")</script>"); 可以这样子,在页面中写一个空的JS标签 <script id="jsCode"></script>在点击按钮要保存图片的位置时://取到图片的位置var m_top = document.getElementById("img").style.top;var m_left = document.getElementById("img").style.left;//将参数传至save.ashxdocument.getElementById("jsCode").src="save.ashx?top=" + m_top + "&left=" + m_left;在save.ashx中得到传的参数,然后保存就行,以上说的是.net方法,如果是jsp的话,把参数传至某个jsp页面也可以 maybe it can help you http://blog.csdn.net/greatchao88/archive/2008/06/03/2508628.aspx 都想复杂了,你把IMG 加个runat="server" 不就搞定 在线急等:通过jquery改变div的style.display,debug时效果是有的,但是在cs里取得的div的display未改变。 上传图片的绝对路径?? 小弟的弱智问题,超级简单,请教各位大虾 一个关于listBox的小问题! 好消息!朋友们来看看! 我以前没学过JS 但我现在想好好的学了 请问有什么好的书啊?要说的全面详细基础些的 在asp.net中IsPostBack是什么意思?? 超急!!SQL查询(时间格式的问题) 如何在ASP.NET中传递ActiveX控件的接口参数? 求一个派出所户籍管理系统 asp.net URL地址问题 TreeView控件的问题
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;
}
图片是动态生成,可以拖动的,我所要做的是要保存它的定位
[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>
动态控件就消失了,根本获取不到,Viewstate等是在INIT阶段才形成的
如果对ajax没有什么认识就找些入门的资料看看吧,不然写出来你也不知道什么意思
动态控件的问题和这个传参数的问题弄了很久都没搞明白
function show(path)
{
alert('我得到了路径:'+path);
}
</script>
string filepath="images/ad"; Page.RegisterStartupScript("", "<script>show(" + filepath + ")</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页面也可以
http://blog.csdn.net/greatchao88/archive/2008/06/03/2508628.aspx