首页 新闻 赞助 找找看

ASP.NET 如何接收其它页面传过来的参数值

0
悬赏园豆:5 [已解决问题] 解决于 2016-12-20 17:04

在JAVA中通过EL表达式接收页面中的参数,主要代码如下:

list.jsp列表页面代码如下:  
var url="<%=contextPath%>/edit.jsp?id=100"

edit.jsp编辑页面,通过${param.id}来接收传过来的参数id,代码如下:
<script type="text/javascript">    
function doInit(){     
 var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id=${param.id}";   
  jQ.ajax({         
      type:"POST",         
      url:url,         
     dataType:"text",         
    success:function(json){           
       }         
     }      
  });    
}  
</script>

请问在asp.net中有没有类似JAVA中EL表达式的功能或者有其它方法,可以在页面上快速方便接收传过来的参数值。谢谢!

lwr的主页 lwr | 初学一级 | 园豆:48
提问于:2016-12-20 15:39
< >
分享
最佳答案
0

如下:

<script type="text/javascript">    
function doInit(){     
 var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id=@(Request.QueryString["id"])";   

  jQ.ajax({         
      type:"POST",          
      url:url,         
     dataType:"text",          
    success:function(json){            
       }          
     }       
  });    
}  
</script>

收获园豆:5
盟怀部孩 | 小虾三级 |园豆:878 | 2016-12-20 15:53

“Request”未定义 脚本错误?

lwr | 园豆:48 (初学一级) | 2016-12-20 16:13

@lwr: 抱歉。@是mvc的特性。

<script type="text/javascript">    
function doInit(){     
 var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id=<%=Request.QueryString["id"]%>";   

  jQ.ajax({         
      type:"POST",          
      url:url,         
     dataType:"text",          
    success:function(json){            
       }          
     }       
  });    
}  
</script>

盟怀部孩 | 园豆:878 (小虾三级) | 2016-12-20 16:16

@盟怀部孩:我用是htm文件不是aspx文件,可以用Request["id"]这种方式获取吗?

lwr | 园豆:48 (初学一级) | 2016-12-20 16:37

@lwr: 我还以为aspx。

<script type="text/javascript">    


function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}


function doInit(){     
 var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id="+GetQueryString("id");   

  jQ.ajax({         
      type:"POST",          
      url:url,         
     dataType:"text",          
    success:function(json){            
       }          
     }       
  });    
}  

</script>

 

盟怀部孩 | 园豆:878 (小虾三级) | 2016-12-20 16:39

@盟怀部孩: 谢谢,可以的。

lwr | 园豆:48 (初学一级) | 2016-12-20 17:03
其他回答(2)
1

asp.net可以从reqeust对象中直接获取querystring和form表单参数

Request["Key"]

吴瑞祥 | 园豆:29449 (高人七级) | 2016-12-20 15:43
0

老的asp.net只有Request.QueryString["id"]

Daniel Cai | 园豆:10424 (专家六级) | 2016-12-20 15:44

function doInit(){     
 var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id="+<%=Request["id"] %>;   
  jQ.ajax({         
      type:"POST",         
      url:url,         
     dataType:"text",         
    success:function(json){           
       }         
     }      
  });    
}  
</script>

 

用这个<%=Request["id"] %>可以吗?

支持(0) 反对(0) lwr | 园豆:48 (初学一级) | 2016-12-20 15:58

function doInit(){     
var url = "<%=contextPath%>/BaseAct/getBaseDetail.act?id="+<%=Request["id"] %>;   
  jQ.ajax({         
      type:"POST",         
      url:url,         
     dataType:"text",         
    success:function(json){           
       }         
     }      
  });    
}  
</script>

 

用这个<%=Request["id"] %>可以吗?

支持(0) 反对(0) lwr | 园豆:48 (初学一级) | 2016-12-20 15:58

@lwr: 可以,但Request的索引器会把querystring和form信息合并在一起,如果你在两个集合中有相同的key的话,最后拿到的value是value1,value2格式。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-12-20 16:00

@Daniel Cai: 刚才js提示Request 未定义,是不是写法有问题呀?

支持(0) 反对(0) lwr | 园豆:48 (初学一级) | 2016-12-20 16:04

@lwr: 你aspx文件头上怎么写的?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-12-20 16:21

@Daniel Cai: 我用是htm文件不是aspx文件,可以用Request["id"]这种方式获取吗?

支持(0) 反对(0) lwr | 园豆:48 (初学一级) | 2016-12-20 16:35

@lwr: 不行,htm默认不走asp.net这条线。如果你仅仅只是简单的做下交互为什么不直接用js实现?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-12-20 16:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册