非哥请教个Ext问题

ws_hgo 2010-10-19 04:33:14
将一个ID传到后台
后台经过处理之后
返回一个IsAudit的字段到前台
这个功能怎么实现啊

前台:
  //将前台的信息传到后台处理之后返回一个JSON
var GetInfo=function(u,p){
var conn=new Ext.data.Connection();
conn.request({
//请求的 Url
url:u,
// 传递的参数
params:p,
method:'post',
scope:this,

callback:function(options,success,response){
success: function(temp){
//怎么判断执行成功或者失败

}
else{


}});};


后台方法:
   /// <summary>
/// 根据日志 ID得到该日志的审核状态
/// </summary>
public void GetInfoByID()
{
WorkLogEnt Log = new WorkLogEnt();
Log.ID = GetFormValue("ID");
string Where = "ID=" + "'" + workLogEnt.ID + "'";
string IsAudit = string.Empty;
DataTable CheckDT = new Business.Project.WorkLog().GetDataByOption("WorkLog", Where);
if (CheckDT.Rows.Count > 0)
{
IsAudit = CheckDT.Rows[0]["IsAudit"].ToString();
}
//这里的response怎么写
Response.Write();
}



...全文
236 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
suanbosab 2010-10-20
  • 打赏
  • 举报
回复
路过,学习了,谢谢楼主分享~~~~~~
ws_hgo 2010-10-20
  • 打赏
  • 举报
回复
 JS:
//现日志审核checkedf
var btnSHOk=new Ext.Button
(
{
text:" 提交",
disabled : false,
handler:function()
{
var Com=Ext.getCmp("Completed").getValue();
if(Com==null||Com=="")
{
Ext.Msg.alert("警告","程序员尚未填写完成度,不能审核!");
return ;
}
var ID=f.getForm().findField("txtID").getValue();
//将要审核的信息传到后台得到该日志的状态
GetInfo('../../WebUI/WorkLog/workLog_audit.aspx?AutoLoad=GetInfo',{id:ID});
}
}
);
var GetInfo = function (u, p) {
var conn = new Ext.data.Connection();
conn.request({
url: u,
params: p,
method: 'post',
scope: this,
callback: function (options, success, response) {
if (!success && confirm("服务器故障,错误码:" + response.status))
// document.body.innerHTML = response.responseText;
Ext.Msg.alert('info','错误!');
},
success: function (response) {
var isAudit = response.responseText;
Ext.getCmp("CheckStatus").setValue(isAudit);
// Ext.Msg.alert('警告',isAudit);
if(isAudit!="0-未审核")
{
Ext.Msg.alert('警告','该日志已经审核!');
return ;
}
else
{
var ID=Ext.getCmp("txtID").getValue();
var CheckDate=Todate(Ext.getCmp("LogCheckDate").getValue());
if(CheckDate==null||LogCheckDate=="")
{
Ext.Msg.alert("警告","请填写审核时间!");
return ;
}
var myDate = new Date();
var m=myDate.getMonth()+1;
var Curent=myDate.getFullYear()+'-'+m+'-'+myDate.getDate();
if(Curent>CheckDate)
{
Ext.Msg.alert("警告","审核时间不能小于当天时间!");
return ;
}
//完成进度
var LogSchedule=Ext.getCmp("txtXQ5").getValue();
//完成质量
var CompleteQuality=Ext.getCmp("txtXQ4").getValue();
//合格率
var PassRate=Ext.getCmp("txtXQ3").getValue();
//附加分
var AdditionalScore=Ext.getCmp("Additionscore").getValue();
//审核
var IsAudit=Ext.getCmp("radioAudit").getValue().inputValue;
var jsonData='';
jsonData={ID:ID,LogSchedule:LogSchedule,CompleteQuality:CompleteQuality,IsAudit:IsAudit,PassRate:PassRate,CheckDate:CheckDate,AdditionalScore:AdditionalScore};
windowCheck.hide();
CodeOperaMethod('../../WebUI/WorkLog/workLog_audit.aspx?AutoLoad=Audit',jsonData);
store.reload();
grid.store.reload();
}

}
});
};



/// <summary>
/// 根据日志 ID得到该日志的审核状态
/// </summary>
public void GetInfoByID()
{
WorkLogEnt Log = new WorkLogEnt();
Log.ID = GetFormValue("ID");
string Where = "ID=" + "'" + Log.ID + "'";
string IsAudit = string.Empty;
DataTable CheckDT = new Business.Project.WorkLog().GetDataByOption("WorkLog", Where);
if (CheckDT.Rows.Count > 0)
{
IsAudit = CheckDT.Rows[0]["IsAudit"].ToString();
}
Response.Write(IsAudit); Response.End();
}
ws_hgo 2010-10-20
  • 打赏
  • 举报
回复
很感谢27楼的兄弟和非哥
问题解决啦!

kkbac 2010-10-20
  • 打赏
  • 举报
回复
将一个ID传到后台
后台经过处理之后
返回一个IsAudit的字段到前台
这个功能怎么实现啊

第一步: ajax 提交id到一个后台页面.
第二步: 后台页面处理这个id. 同时ajax等待数据....
第三步: 后台返回一个字段, 约定这个字段是IsAudit的值. 同时ajax取得到返回的数据.
第三步: js处理返回的数据.

流程是这样的吗? 如果是. 上面都是答案.
如果不是, 请指出.
mengyalizuopeng 2010-10-20
  • 打赏
  • 举报
回复
路过。。。。。。。。。
jshi123 2010-10-20
  • 打赏
  • 举报
回复
参考下面的代码

<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>extjs test</title>
<script type="text/javascript" src="http://dev.sencha.com/deploy/dev/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="http://dev.sencha.com/deploy/dev/ext-all.js"></script>
</head>
<body>
<form id="form1" runat="server">
<button onclick="doTest(); return false">test</button>

<script type="text/javascript">
function doTest() {
var id = "abcd1234";
GetInfo(window.location + "/GetInfoByID", { ID: id });
}

var GetInfo = function (u, p) {
var conn = new Ext.data.Connection();
conn.request({
url: u,
params: p,
method: 'post',
scope: this,
callback: function (options, success, response) {
if (!success && confirm("服务器故障,错误码:" + response.status))
document.body.innerHTML = response.responseText;
},
success: function (response) {
var isAudit = response.responseText;
alert("IsAudit=" + isAudit);
}
});
}
</script>
</form>
</body>
</html>

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (Request.PathInfo != "")
{
string method = Request.PathInfo.Substring(1);
this.GetType().GetMethod(method).Invoke(this, null);
Response.End();
return;
}
}

public void GetInfoByID()
{
string ID = Request["ID"];
string IsAudit = ID=="abcd1234"? "yes" : "no";
Response.Write(IsAudit);
}
</script>
guyehanxinlei 2010-10-19
  • 打赏
  • 举报
回复
返回一个JSON,或字符串,或直接在后台写一个隐藏域
flyerwing 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dreamsea530 的回复:]
Response.write("{\"IsAudit\":\"" + IsAudit + "\"}");
[/Quote]
Ext.ajax.request({
url:"aa.aspx",
params:{id:r.id},
success:function(_rpt){alert(_rpt.data);},
scope:this
});
估计成吧.
只要是JSON就OK了.
AsheBin 2010-10-19
  • 打赏
  • 举报
回复
最后那个少打了个括号},请自行加上。
AsheBin 2010-10-19
  • 打赏
  • 举报
回复
这样来吧:
后台定义一个结构

public class DataWrapper
{
/// <summary>
/// 方法执行结果,返回布尔类型
/// </summary>
public bool Result { get; set; }

/// <summary>
/// 返回的数据,该属性里面包含任意的对象
/// </summary>
public object DataObject { get; set; }

/// <summary>
/// 附加的消息,可以是错误消息等
/// </summary>
public string Message { get; set; }


public DataWrapper()
{
Result = false;
DataObject = null;
Message = "";
}
}


传的时候:

//ret = new DataWrapper(); 自己向里面封装信息
JavaScriptSerializer jss = new JavaScriptSerializer();
HttpContext.Current.Response.Write(jss.Serialize(ret));


前台解析:

success: function (msg) {
var obj = eval("(" + msg + ")");
if (obj != null) {
alert(obj.Result); //看这里
}
阿非 2010-10-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/Sandy945/archive/2010/03/26/5418515.aspx

这个修改一下就可以, 又或者返回 json

{"status":1,"IsAudit":"IsAudit Content"}

status 用于标示

ws_hgo 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dreamsea530 的回复:]

引用 14 楼 ws_hgo 的回复:
引用 13 楼 dreamsea530 的回复:

得分啊兄弟,快下班了.


都没有解决问题
结个什么贴

你到底想要实现什么啊?
[/Quote]


将一个ID传到后台
后台经过处理之后
返回一个IsAudit的字段到前台
这个功能怎么实现啊
DreamSea530 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ws_hgo 的回复:]
引用 13 楼 dreamsea530 的回复:

得分啊兄弟,快下班了.


都没有解决问题
结个什么贴
[/Quote]
你到底想要实现什么啊?
v风雪山神庙v 2010-10-19
  • 打赏
  • 举报
回复
可以做一个隐藏的label,
JS去读这个label的值
ws_hgo 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 dreamsea530 的回复:]

得分啊兄弟,快下班了.
[/Quote]

都没有解决问题
结个什么贴
DreamSea530 2010-10-19
  • 打赏
  • 举报
回复
得分啊兄弟,快下班了.
DreamSea530 2010-10-19
  • 打赏
  • 举报
回复
后台
public void GetInfoByID()
{
WorkLogEnt Log = new WorkLogEnt();
Log.ID = GetFormValue("ID");
string Where = "ID=" + "'" + workLogEnt.ID + "'";
string IsAudit = string.Empty;
bool isSuccess=true;
try
{
DataTable CheckDT = new Business.Project.WorkLog().GetDataByOption("WorkLog", Where);
if (CheckDT.Rows.Count > 0)
{
IsAudit = CheckDT.Rows[0]["IsAudit"].ToString();
}
}
catch
{
isSuccess=false;
}
Response.write("{\"IsAudit\":\"" + IsAudit + "\,\"isSuccess\":\""+isSuccess+"\"}");


//这里的response怎么写
Response.Write();
}
海边的狼 2010-10-19
  • 打赏
  • 举报
回复
后台
public void GetInfoByID()
{
WorkLogEnt Log = new WorkLogEnt();
Log.ID = GetFormValue("ID");
string Where = "ID=" + "'" + workLogEnt.ID + "'";
string IsAudit = string.Empty;
try
{
DataTable CheckDT = new Business.Project.WorkLog().GetDataByOption("WorkLog", Where);
if (CheckDT.Rows.Count > 0)
{
IsAudit = CheckDT.Rows[0]["IsAudit"].ToString();
}
}
catch
{
IsAudit ="error";
}
Response.write("{\"IsAudit\":\"" + IsAudit + "\"}");


//这里的response怎么写
Response.Write();
}
  • 打赏
  • 举报
回复
学习、
DreamSea530 2010-10-19
  • 打赏
  • 举报
回复
//将前台的信息传到后台处理之后返回一个JSON
var GetInfo=function(u,p){
var conn=new Ext.data.Connection();
conn.request({
//请求的 Url
url:u,
// 传递的参数
params:p,
method:'post',
scope:this,

callback:function(options,success,response){
success: function(responseData){
//怎么判断执行成功或者失败
if(responseData.isSuccess)
alert("OK");
else
alert("error");

}
else{


}});};


加载更多回复(8)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧