java调用方法返回值后台方法,为什么返回的是HTML代码

2017年8月 总版技术专家分月排行榜第一
2017年11月 总版技术专家分月排行榜第二2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
获取后台接口数据,动态生成html代码,原来jquery的点击事件不能用了,这是为啥?代码如下:index.html文件代码:有引用aa.js$(function(){$.ajax({
type:"post",
url:":10001/mxm/api/v1/paper/getPaperList",
async:true,
jsonparm:{
"pageNo":"1",
"pageSize":"10"
success: function(data) {
console.log(data.detail.list.length);
console.log(JSON.stringify(data))
for(var i=0;i&=data.detail.list.i++){
var arr = [];
var htmlc =
"&div class='jm_row_list'&"+
"&div class='jm_row_line clearfix'&"+
"&!--微博主信息 --&"+
"&dl class='jm_cardwrap jm_feed_type'&"+....省略
arr.push(htmlc);
var reshtml = arr.join("");
$(".textBody").html(reshtml);
})aa.js代码
$(function(){
/*查看图片*/
$(".jm_cardwrap jm_feed_type").click(function(){
var thisSrc = $(this).attr("src");
var thisIndex = $(this).index();
//没有从ajax获取数据之前,这些代码可以用,获取ajax数据,组装好,显示在页面后,这些代码不起作用了,为什么呢?求答案哦。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
$(".jm_cardwrap jm_feed_type")这个选择器应该是有问题的,按照你ajax返回的内容应该是$(".jm_cardwrap.jm_feed_type");再继续问题的关键:
$(".jm_cardwrap.jm_feed_type").click(function(){}) // 这块只能绑定一开始的$(".jm_cardwrap.jm_feed_type"),通过ajax新生成的没有绑定该事件,所以点击不会有相应
解决办法:1.jQuery 1.7版以前使用live动态绑定事件
$(".jm_cardwrap.jm_feed_type").live('click', function(){
2.jQuery 1.7版以后使用on动态绑定事件
$(".textBody").on('click', '.jm_cardwrap.jm_feed_type', function(){
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
页面加载,并未找到指定的对象,没有绑定点击事件。后面动态的加载进来,也没有绑定事件。
解决办法:$("页面上存在的父元素").on("click","动态加的子元素",function(){//do something})
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个涉及到js实现异步的方式,你可以这么理解就是在你click事件触发的时候,你说拼接的html还没有插入到dom中,所以你使用的$(".jm_cardwrap jm_feed_type"),其实并没有获取到相应的节点,如果你要实现点击效果的话可以使用&div class='jm_row_line clearfix' onclick='clickFun()'&这种数据
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
$(".jm_cardwrap jm_feed_type") 这里,我觉得是不是 $(".jm_cardwrap") 或者 $(".jm_feed_type") 才能获取到你想要的元素
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
使用jquery的on方法动态监听,这样新加的元素也能监听到
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
绑定click事件的时候那段html还没有插入dom
因为回调一步的还没有执行那一块建议click绑定在插入的那段html的父元素上
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。javascript函数中执行C#代码中的函数:&&&&&&&&方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;&&&&&&&&&&& 2、在前台写一个js函数,内容为document.getElementById("btn1").click();&&&&&&&&&&& 3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;&&&&&&&&&方法二:1、函数声明为public&&&&&&&&&&&&&&&&&&&&&&&&&&& 后台代码(把public改成protected也可以)&&&&& & & & &无参数
public string methodname()
//注意该方法不能为void,否则执行会报错
//在这之前可以做任何一些服务端的操作,可以不把返回值作为目的,而是要执行一些服务端的代码。
& & & &有参数
1 protected string CsharpVoid(string strCC)
strCC = "你好!" + strCC;
return strCC;
&&&&&&& 2、在html里用&%=fucntion()%&可以调用&&&&&&&&&&&&&& 前台脚本&&&&& & & & & 无参数
&script language=javascript&
var a = "&%=methodname()%&";
//如果只是要执行服务端的一些代码也可以写为如下,这样就可以执行服务端代码了
eval("&%=methodname()%&");
1 function Init()
var v = "中国";
var s = '&%=CsharpVoid("'+v+'") %&';
&&&&&&方法三:&&&&利用PageMethods调用后台代码&&&&&&&&PageMethod方法介绍:&&&&&&&&PageMethods.FunctionName(Paramter1,Parameter2,...,SuccessMethod, FailedMethod, userContext);&&其中,前面Paramter1,Parameter2,...,表示的是FunctionName的参数,类型是Object或Array;&&SuccessMethod是需要使用后台返回结果的Js方法,&&FailedMethod是当后台的csFunctionName方法发生异常情况下的执行的Js方法(容错处理方法),&&userContext是可以传递给SuccessMethod方法,或是FailedMethod方法的任意内容。&&&&&&&&实现方法三按照以下步骤:&&&&&&&&1.在后台创建方法,必须是static(静态的),方法必须是public类型的,否则访问不到会报异常,&&&&接着要在该方法头部上加上[System.Web.Services.WebMethod],来标注方法特性。&&&&2.在前台页面加入ScriptManager控件,并把其EnablePageMethods属性设为true。&&&&3.调用PageMethods,由于该方法有很多重载,现在只说最简单的实现。&&&&PageMethods.FunctionName(回调的js方法);&&&&& //其中FunctionName为后台创建的静态方法名,回调js方法为前台接受结果的方法。&&&&&&&&例子:&&&&后台代码:&&&&&
[System.Web.Services.WebMethod]
public static string ShowValue()
return "js调用后台方法";
&&&&&&前台代码:&&&&&
1 &script type="text/javascript"&
function bclick()
PageMethods.ShowValue(sshow);
function sshow(val)
//回传方法用val接受后台代码ShowValue的执行结果
document.getElementById("show").innerText =
18 &input id="Button1" type="button" value="click" onclick="bclick();" /&
&div id="show"&
阅读(...) 评论()WEB如何在.html文件中调用C# App_code 里的方法或者.aspx文件并得到返回值?急!
作者:用户
浏览:521 次
因为访问量大,页面采用生成的.html页,但.html页无法查询数据库,取得类似会员登录等等的动态信息,但.html页当中有多处要用到登录信息,请问如何才能在.html页中调用到C#的后台代码或者调用
问题描述因为访问量大,页面采用生成的.html页,但.html页无法查询数据库,取得类似会员登录等等的动态信息,但.html页当中有多处要用到登录信息,请问如何才能在.html页中调用到C#的后台代码或者调用.aspx文件查询然后得到返回值?登录信息并非只是为了显示,如果是这样只要用一个iframe就可以了,通过cookie又不太方便,很多客户端对cookie支持不好,请大侠给个好点的方法,能直接调用.cs文件里的方法最好!解决方案解决方案二:通过js调用webservice返回数据进行操作。或者用JSON返回,详细搜一下用法解决方案三:因为调用频率比较高,请问调用速度和资源消耗方面webservice和JSON返回,不知道哪个占优一点?解决方案四:用Jquery。。。AJAX。。。在一般处理程序中请求。。返回数据。。解决方案五:引用2楼chendaiyin的回复:因为调用频率比较高,请问调用速度和资源消耗方面webservice和JSON返回,不知道哪个占优一点?json性能好一点,因为传输字符少一些。可以用jQuery的$ajax,比较好用。解决方案六:使用iframe,通过iframe.location调用不同的网页,取得不同的结果!解决方案七:调用aspx页面返回值的方法//页面按照如下方法写protectedvoidPage_Load(objectsender,EventArgse){Response.Write("自己的输出串内容");Response.Buffer=Response.Flush();Response.End();Response.Close();}//客户端用如下方法调用并返回自定义串,并自己解析/***************************************************本函数是通用的调用ajax的函数框架*对服务器状态的响应由参数callback决定*url:将请求发送到的地址*method:请求的类型,get或者post*content:要传送给服务器的内容*responseType:返回类型,responseText或者responseXML*callback:执行回调的函数名*requestType:请求类型,ture为异步,false为同步***************************************************/Function.prototype.setThis=function(){varcurr_function=varto_this_object=arguments[0];returnfunction(){curr_function.apply(to_this_object,[]);};};functiondoSend(url,method,content,responseType,callback,requestType){http_request=//初始化XMLHttpRequestif(window.XMLHttpRequest){//Mozilla浏览器http_request=newXMLHttpRequest();if(http_request.overrideMimeType){//设置Mime类型http_request.overrideMimeType("text/xml");}}elseif(window.ActiveXObject){//IE浏览器try{http_request=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{//IE5.0以下版本http_request=newActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}if(!http_request){//创建XMLHttpRequest对象失败alert("不能创建XMLHttpRequest对象,请检查浏览器设置!");}//确定获取请求的方式if(responseType.toLowerCase()=="text"||responseType.toLowerCase()=="xml"){http_request.onreadystatechange=callback.setThis(http_request);}else{alert("响应类别参数出错");}//确定发送请求方式if(method.toLowerCase()=="get"){http_request.open(method,url,requestType);}elseif(method.toLowerCase()=="post"){http_request.open(method,url,requestType);http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}else{alert("Http请求类型出错");}http_request.send(content);}
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供前台调用后台事件和方法实现小结 - kingtiger - 博客园
随笔 - 41, 文章 - 1, 评论 - 48, 引用 - 0
&&&&& 在实际开发过程中,我们的HTML元素需要调用后台,而且需要让后台进行复杂运算后再进行数据重新绑定操作,遇到这样的问题怎么办呢?可能有人说在后台创建一个方法,该方法实现绑定数据操作,但是实际呢?结果不尽人意,它没有执行绑定的实现,而只是简单的执行一下方法但是前台无反应,为什么出现这样的情况?原来前台调用后台方法其实只是返回结果,对实现过程及元素组合变化不管不问,它只是关注执行后的结果,不为过程买单,那么有什么方法解决这个问题呢?想想?我们可不可以让前台HTML元素触发ASP.NET按钮来触发事件呢,同时隐藏这个按钮?让它去实现绑定操作。该技巧是可行的!!本楼主为了操作简单没有以绑定数据作为示例,而只是简单的打印数据,原理基本和绑定数据类似,代码如下:
这是前台代码:
&html xmlns="http://www.w3.org/1999/xhtml"&
&head id="Head1" runat="server"&
&title&&/title&
&script src="JS/jquery.js" type="text/javascript"&&/script&
&script type="text/javascript"&
$(function () {
$("#btnTJ1").bind("click", function () {
var result = '&% =Print2Web() %&';
alert("执行完毕,请检查一下后台数据有没有打印出来");//结果显然没有打印出来
$("#btnTJ2").bind("click", function () {
$("#&%= btnGet.ClientID %&").trigger("click");//效果实现了
&form runat="server"&
&input type="button" value="前台HTML元素调用后台方法" id="btnTJ1" /&
&input type="button" value="前台HTML元素调用后台事件" id="btnTJ2" /&
&div style=" visibility: hidden"&
&asp:Button ID="btnGet" runat="server" Text="辅助前台获取数据" onclick="btnGet_Click" /&
&下面是后台代码:
protected void Page_Load(object sender, EventArgs e)
/// &summary&
/// 通过借助后台事件 -- 能否在页面输出
/// &/summary&
/// &param name="sender"&&/param&
/// &param name="e"&&/param&
protected void btnGet_Click(object sender, EventArgs e)
// 这里有复杂实现
Response.Write("事件按钮打印--测试成功");
/// &summary&
/// 后台方法
-- 目的是前台调用,能否在页面输出
/// &/summary&
public int Print2Web()
// 这里有复杂实现
Response.Write("调用方法打印--测试成功");

我要回帖

更多关于 广告代码调用方法 的文章

 

随机推荐