比如说我在index.aspx用jquery返回了json格式的数据,在显示时用index.aspx.cs页中的GetName方法进行数据处理并返回$.each(productData, function(i, n) {
var trs = "";
trs += "<tr><td>" + n.RunningNum + "<br/>"+n.AddTime+"</td><td>" + n.UserName + "</td><td>"+n.Price + "</td><td>" + n.PushTypes + "</td><td>" + n.TaskStatus + "</td><td>" + n.TaskStatus + "</td></tr>";
//ajax.UserLevel(n.UserName.toString())
tbody += trs;
});以上是我的aspx代码,我想对n.RunningNum进行数据处理,我用这代码调用时,会把它当成字符直接显示。
trs += "<tr><td><%=GetName(" + n.RunningNum + ")%><br/>";
GetName方法public string GetName(string str)
{
if(str=="1")
{
return "a";
}
else if(str=="2")
{
return "b";
}
return str;
}
另外有朋友让我用ajaxPro 2,但发现ajaxPro2与Jquery冲突,使用后不显示jquery结果
var trs = "";
trs += "<tr><td>" + n.RunningNum + "<br/>"+n.AddTime+"</td><td>" + n.UserName + "</td><td>"+n.Price + "</td><td>" + n.PushTypes + "</td><td>" + n.TaskStatus + "</td><td>" + n.TaskStatus + "</td></tr>";
//ajax.UserLevel(n.UserName.toString())
tbody += trs;
});以上是我的aspx代码,我想对n.RunningNum进行数据处理,我用这代码调用时,会把它当成字符直接显示。
trs += "<tr><td><%=GetName(" + n.RunningNum + ")%><br/>";
GetName方法public string GetName(string str)
{
if(str=="1")
{
return "a";
}
else if(str=="2")
{
return "b";
}
return str;
}
另外有朋友让我用ajaxPro 2,但发现ajaxPro2与Jquery冲突,使用后不显示jquery结果
<location path="ajaxpro">
<system.web>
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
</location>
可以与jquery一起使用了
但这时我在index.aspx.cs中的page_load中加上
AjaxPro.Utility.RegisterTypeForAjax(typeof(TaoBao_Index));以及方法 [AjaxPro.AjaxMethod]
public string UserLevel(string Integral)
{ return Integral; }
,然后在index.aspx页调用
trs += "<tr><td>" +TaoBao_Index.UserLevel(n.RunningNum) + "<br/>"
整个表记录都不会显示出来,请问我要怎么才能显示出数据
trs += "<tr><td>" + n.UserName + "<br/>"
根据UserName查找数据库中的会员级别,然后显示相应级别的图标
比如在index.aspx.cs中有个文件
public string UserLevel(string UserName)
{
return bll.UserLevel(UserName);
}
===========要怎么才能调用该方法?
你要搞清楚 那个先执行?
用ajax去请求
用ajax把 n.RunningNum 的值传回后台
后台处理后再给前台
可以确定的是后台处理的方法有值并正确的返回
具体代码如下 。谢谢了大家 $.each(productData, function(i, n) {
var trs = "";
trs += n.UserName +UserLevel(n.UserName);
});//======================function UserLevel(str)
{
//if(str=="cean")
//{
// return "-js调用返回";
//} //用这样的方式就能正确返回-_-
var temp;
$.ajax({
type:"POST",
url:"index.aspx",
data:{method:"UserLevelImg"},
success:function(msg){
temp=msg;//就算这里赋值给temp后,还是返回不了,返回的为null
//document.write(msg);
},
Error:function(){alert('出错');}
});
return temp;//还是返回不了,返回的为null,好像ajax里面赋值的保存不了
}
原因是:
=============================
http://topic.csdn.net/u/20100701/12/e4fd8b62-4c9c-4a68-9101-5f9981a822aa.html
因为它是异步执行的,
所有最外面的alert会先执行。
所以你就看到外面的是空的了。
同步执行就不会有问题了,
============================
不让它异步,让它同步即可解决问题。加上async:false结帐