紧急求助——添加朋友功能在开发测试系统运行无误,放到服务上,添加朋友老是提示失败,参数也能看到传递。
三个主要页面代码如下:
1.搜索页首页index添加好友代码如下:
protected string AddFriend(object uid, object unm)
{
string ret = string.Empty;
string upic = GetHeadImage(Convert.ToInt32(uid.ToString()), 2);
if (isTimeOut())
{
ret = "<div id=\"li_req_" + uid.ToString() + "\"><a href=\"javascript:void(0);\" onclick=\"javascript:AddFriend(" + uid.ToString() + ",'" + unm.ToString() + "','" + upic.ToString() + "','li_req_" + uid.ToString() + "');\">加为好友</a></div>";
}
else
{
int usid = Convert.ToInt32(uid);
Friend frd = new Friend();
if (usid != this.GetUserID())
{
int n = frd.GetRelation(this.GetUserID(), usid);
if (n == 0)//无任何关系
{
ret = "<div id=\"li_req_" + usid + "\"><a href=\"javascript:void(0);\" onclick=\"javascript:AddFriend(" + usid + ",'" + unm + "','" + upic + "','li_req_" + uid + "');\">加为好友</a></div>";
}
else if (n == 3)//已发出好友申请,等待确认好友申请
{
ret = "<div>等待验证</div>";
}
else if (n == 4)//4被申请
{
ret = "<div><a href=\"../friend/req.aspx\">处理请求</a></div>";
}
}
}
return ret;
}
2。调用friend.js中代码文件//加为好友
function AddFriend(uid,uname,upic,objid)
{
ShowDlg(464,220,'将'+ uname +'加为好友?','<div class=\"nl w100\"><img src="'+ upic +'" alt="'+ uname +'" align="absmiddle" /></div><div class=\"nr w300 paddings10\">你的请求会发送给'+ uname +',确认后你们将成为好友。</div>','OnAddFriend('+ uid +',\''+ objid +'\')');
}
function OnAddFriend(uid,objid)
{
var options={
method:'post',
parameters:'Option=ApplyFrd&FriendID='+ uid,
onComplete:
function(transport)
{
var retv =transport.responseText;
if(retv == '1')
{
document.getElementById(objid).innerHTML = '等待验证';
}
else if(retv == 'err')
{
alert("请登录后进行操作");
}
else
{
alert("添加朋友失败");
}
HideAlertBox();
}
}
new Ajax.Request(RootDir+'/inc/ajax/friend/friendAjax.aspx',options);
}
3. friend.js调用ajax代码friendAjax.aspx如下 protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
//{
if (this.GetUserID() == 0)
{
Response.Write("err");
Response.End();
}
if (Request.Form["Option"] != null)
{
JuSNS.Home.Friend fnd = new JuSNS.Home.Friend();
string opt = Request.Form["Option"];
try
{
switch (opt)
{
case "Greet":
fnd.Greet(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
//&FriendID="+ uid,
break;
case "Delete":
fnd.Diffidation(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
//&FriendID="+ uid,
break;
case "ApplyFrd":
fnd.Request(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
break;
case "Accept":
fnd.Response(this.GetUserID(), int.Parse(Request.Form["RID"]), EnumReply.Agree, Request.Form["ClassID"]);
Response.Write("1");
break;
case "Refuse":
fnd.Response(this.GetUserID(), int.Parse(Request.Form["RID"]), EnumReply.Decline, string.Empty);
Response.Write("1");
break;
}
}
catch
{
Response.Write("0");
}
}
Response.End();
}
三个主要页面代码如下:
1.搜索页首页index添加好友代码如下:
protected string AddFriend(object uid, object unm)
{
string ret = string.Empty;
string upic = GetHeadImage(Convert.ToInt32(uid.ToString()), 2);
if (isTimeOut())
{
ret = "<div id=\"li_req_" + uid.ToString() + "\"><a href=\"javascript:void(0);\" onclick=\"javascript:AddFriend(" + uid.ToString() + ",'" + unm.ToString() + "','" + upic.ToString() + "','li_req_" + uid.ToString() + "');\">加为好友</a></div>";
}
else
{
int usid = Convert.ToInt32(uid);
Friend frd = new Friend();
if (usid != this.GetUserID())
{
int n = frd.GetRelation(this.GetUserID(), usid);
if (n == 0)//无任何关系
{
ret = "<div id=\"li_req_" + usid + "\"><a href=\"javascript:void(0);\" onclick=\"javascript:AddFriend(" + usid + ",'" + unm + "','" + upic + "','li_req_" + uid + "');\">加为好友</a></div>";
}
else if (n == 3)//已发出好友申请,等待确认好友申请
{
ret = "<div>等待验证</div>";
}
else if (n == 4)//4被申请
{
ret = "<div><a href=\"../friend/req.aspx\">处理请求</a></div>";
}
}
}
return ret;
}
2。调用friend.js中代码文件//加为好友
function AddFriend(uid,uname,upic,objid)
{
ShowDlg(464,220,'将'+ uname +'加为好友?','<div class=\"nl w100\"><img src="'+ upic +'" alt="'+ uname +'" align="absmiddle" /></div><div class=\"nr w300 paddings10\">你的请求会发送给'+ uname +',确认后你们将成为好友。</div>','OnAddFriend('+ uid +',\''+ objid +'\')');
}
function OnAddFriend(uid,objid)
{
var options={
method:'post',
parameters:'Option=ApplyFrd&FriendID='+ uid,
onComplete:
function(transport)
{
var retv =transport.responseText;
if(retv == '1')
{
document.getElementById(objid).innerHTML = '等待验证';
}
else if(retv == 'err')
{
alert("请登录后进行操作");
}
else
{
alert("添加朋友失败");
}
HideAlertBox();
}
}
new Ajax.Request(RootDir+'/inc/ajax/friend/friendAjax.aspx',options);
}
3. friend.js调用ajax代码friendAjax.aspx如下 protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
//{
if (this.GetUserID() == 0)
{
Response.Write("err");
Response.End();
}
if (Request.Form["Option"] != null)
{
JuSNS.Home.Friend fnd = new JuSNS.Home.Friend();
string opt = Request.Form["Option"];
try
{
switch (opt)
{
case "Greet":
fnd.Greet(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
//&FriendID="+ uid,
break;
case "Delete":
fnd.Diffidation(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
//&FriendID="+ uid,
break;
case "ApplyFrd":
fnd.Request(this.GetUserID(), int.Parse(Request.Form["FriendID"]));
Response.Write("1");
break;
case "Accept":
fnd.Response(this.GetUserID(), int.Parse(Request.Form["RID"]), EnumReply.Agree, Request.Form["ClassID"]);
Response.Write("1");
break;
case "Refuse":
fnd.Response(this.GetUserID(), int.Parse(Request.Form["RID"]), EnumReply.Decline, string.Empty);
Response.Write("1");
break;
}
}
catch
{
Response.Write("0");
}
}
Response.End();
}
解决方案 »
- 请教关于如何始终显示用户登录信息的问题
- 如何管理小区分?如帖子状态,会员级别。
- asp.net和Silverlight 结合使用
- |zyciis| 我新建了一个类库,然后在里面添加了一些类,和几个js,和几张图片,我生成dll后,类里面的方法可以用,但里面的js和图片我在网页中如何调用 谢谢 常文件结构和内容
- 文件上传路径问题,急在线等
- 关于DbCommand和类继承的问题,200分
- 弱弱的问,怎么取得SelectedIndexChanged的值?
- 这个怎么处理一下 ?
- 数据库问题
- 我用软件误删除了wwwroot的web共享,请问如何恢复??
- 大家帮顶下哈:NetTiers模版生成代码的一些疑问
- DES加密、MD5加密比较
我也看晕了,楼主,将具体哪个地方出错了,说下