有些迷茫,好心人来帮我分解下。

begintransaction 2010-10-27 07:31:49
我现在待的公司主要是做网站,我在写后台现在基本用的方法是用Ajax异步操作数据,表示层的处理代码大多放在了.ashx里。

我现在纠结的是:

1、有没有必要全用Ajax异步操作数据?

2、什么情况下用.cs事件操作数据比较合理?

3、有些人说他们开发项目全用的是HTML+Ajax这样开发好吗?

...全文
226 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Craftsman 2010-10-28
  • 打赏
  • 举报
回复
我这次帮一个客户做的项目完全基于jquey+asp.net,除了jquery以为,还大量应用了jquery的很多插件,比如TreeTable、Jquery UI、Flexgrid等等,然后这样调用:
var p = {};
p.Brand = $("#txtBrand").val();
var data = {};
data.Method = "SaveNewBrand";
data.Parameter = p;
$.ajax({
type: "POST",
data: $.toJSON(data),
url: "DictOperate.action",
dataType: "json",
success: function(r) {
if (r.success) {
alert("保存成功!")
} else {
alert("保存新品牌时出现错误!");
}
}
});
然后创建一个工厂类,该类负责把客户端的请求分配给某个类的某个方法,代码如下:
public class ActionFactory : IHttpHandlerFactory, IRequiresSessionState
{
public IHttpHandler GetHandler(HttpContext context, string requestType, String url, String pathTranslated)
{
//得到类名
string hanlerClassName = GetType().Namespace + "." + Path.GetFileName(pathTranslated).Split('.')[0];
Type objType = Type.GetType(hanlerClassName, true);
//动态生成对象
IHttpHandler handlerToReturn = (IHttpHandler)Activator.CreateInstance(objType);
return handlerToReturn;
}

public void ReleaseHandler(IHttpHandler handler)
{
}

public bool IsReusable
{
get
{
return false;
}
}
}
最后创建具体处理的类,如下代码:
public class DictOperate : IHttpHandler, IRequiresSessionState
{
static VehicleEntitys db = new VehicleEntitys();

public DictOperate()
{
}

public void ProcessRequest(HttpContext context)
{
JObject p = JObject.Parse(context.Request.Form[0]);
MethodInfo method = this.GetType().GetMethod((string)p["Method"]);
string execMethod = (string)method.Invoke(null, new JObject[] { (JObject)p["Parameter"] });
context.Response.Write(execMethod);
}

/// <summary>
/// 保存新品牌
/// </summary>
/// <param name="j"></param>
/// <returns></returns>
public static string SaveNewBrand(JObject j)
{
JObject returnJSON = new JObject();
try
{
StaffEntity staff = SessionAdapter.Session.GetSessionState("LoginUser") as StaffEntity;
DictionaryEntity dict = new DictionaryEntity();
dict.Abbreviation = "";
dict.Parent = DictionaryEntity.SelectById(db, SafeConvert.ToGuid(Const.Brand));
dict.DictionaryID = Guid.NewGuid();
dict.FieldName = (string)j["Brand"];
dict.BeforeInsert(db, staff.StaffID);

db.AddToDictionaryEntity(dict);
db.SaveChanges();

returnJSON.Add(new JProperty("success", true));
returnJSON.Add(new JProperty("Value", dict.DictionaryID.ToUpperStr()));
}
catch (Exception ex)
{
ILog log = LogManager.GetLogger(typeof(DictOperate));
if (log.IsErrorEnabled)
{
log.Error("新建品牌", ex);
}
returnJSON.Add(new JProperty("success", false));
}
return JsonConvert.SerializeObject(returnJSON);
}

public bool IsReusable
{
get
{
return false;
}
}
begintransaction 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 huangwenquan123 的回复:]
引用 12 楼 kokorenfeng 的回复:
开发项目可以用asp.net + ajax
有asp.net ajsx框架 中还有三十种增强用户体验
我觉得没必要全用Ajax异步操作数据。。有些操作中可能速度会慢点,如用异步操作数据,用户以为没点击到,会狂点的,这对数据影响会很大的。
cs事件操作数据嘛,也是应操作而来的,不需要异步操作,就全有事件操作
有个接收前的参数,在那里设置一下……
[/Quote]
是的,用Ajax操作待提示很重要。
begintransaction 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sp1234 的回复:]
对于任何复杂界面(比如有成百上千控件的页面),你首先用1、2天时间实现复杂的界面和交互流程,然后有闲的时候才需要逐步修改为用低级代码手写html的。一旦搞乱了,可以从版本管理系统上回滚到之前的版本。
[/Quote]
有道理。
_Will_ 2010-10-28
  • 打赏
  • 举报
回复
做企业网站 不用程序员写一行代码才是最好的!
chen_ya_ping 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 begintransaction 的回复:]
我现在待的公司主要是做网站,我在写后台现在基本用的方法是用Ajax异步操作数据,表示层的处理代码大多放在了.ashx里。

我现在纠结的是:

1、有没有必要全用Ajax异步操作数据?

2、什么情况下用.cs事件操作数据比较合理?

3、有些人说他们开发项目全用的是HTML+Ajax这样开发好吗?
[/Quote]
(1)学习一下,很好的
(2)一般的程序都是可以用的
(3)这样好啊,但是还是要用到CS中的代码的
hahanan1987 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 phil999 的回复:]

引用 6 楼 begintransaction 的回复:
我现在做的这个项目就是用js(Ajax)操作的数据呀。。……


看来是我out了,js就能操作数据了
[/Quote]
楼主意思是通过ajax操作数据库,代码是放在ashx里的
begintransaction 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 jaylongli 的回复:]
数据量大的话 你用AJAX怎么做?

先从大面来用事件控制,之后逐步细化用AJAX加强体验
[/Quote]
转换成XML然后用JS跌代获取呀
huangwenquan123 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kokorenfeng 的回复:]
开发项目可以用asp.net + ajax
有asp.net ajsx框架 中还有三十种增强用户体验
我觉得没必要全用Ajax异步操作数据。。有些操作中可能速度会慢点,如用异步操作数据,用户以为没点击到,会狂点的,这对数据影响会很大的。
cs事件操作数据嘛,也是应操作而来的,不需要异步操作,就全有事件操作
[/Quote]有个接收前的参数,在那里设置一下等待画面,成功返回数据在隐藏
kokorenfeng 2010-10-28
  • 打赏
  • 举报
回复
开发项目可以用asp.net + ajax
有asp.net ajsx框架 中还有三十种增强用户体验
我觉得没必要全用Ajax异步操作数据。。有些操作中可能速度会慢点,如用异步操作数据,用户以为没点击到,会狂点的,这对数据影响会很大的。
cs事件操作数据嘛,也是应操作而来的,不需要异步操作,就全有事件操作



phil999 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 begintransaction 的回复:]
我现在做的这个项目就是用js(Ajax)操作的数据呀。。……
[/Quote]

看来是我out了,js就能操作数据了
  • 打赏
  • 举报
回复
对于任何复杂界面(比如有成百上千控件的页面),你首先用1、2天时间实现复杂的界面和交互流程,然后有闲的时候才需要逐步修改为用低级代码手写html的。一旦搞乱了,可以从版本管理系统上回滚到之前的版本。
wangdetian168 2010-10-28
  • 打赏
  • 举报
回复
那些人都有病 别管他 ajax 是好但是不能乱用 他妈的整个项目都用扯蛋
datahandler2 2010-10-28
  • 打赏
  • 举报
回复
以前我特纠结:Web开发要用 服务器控件开发还是禁用服务器控件开发,没办法,主管是选择后者,我虽然百般疑惑但照跟着做。一年后,我回头看看 突然叫我做一个不是公司的项目,我竟然突然都觉得好像什么都不会做了。哈,有点倚天屠龙记里面学太极一样。慢慢的,其实觉得无法都是固定一套Form交互机制嘛,干嘛想的那么复杂要 ajax 或非ajax。再怎么变还不是在post 或Get中给你柺几个弯而已。没啥什么技术难度的。习惯问题。
加油馒头 2010-10-28
  • 打赏
  • 举报
回复
数据量大的话 你用AJAX怎么做?

先从大面来用事件控制,之后逐步细化用AJAX加强体验
wwfgu00ing 2010-10-27
  • 打赏
  • 举报
回复
学,只能说你多了一种解决问题的路径而已
Specialaspnet 2010-10-27
  • 打赏
  • 举报
回复
我现在都很少用客户端的,我很少用ajax和webservice我做网站基本都是在cs文件的
begintransaction 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phil999 的回复:]
1、有没有必要全用Ajax异步操作数据?

没必要

2、什么情况下用.cs事件操作数据比较合理?

操作数据库就是在 .cs 里,你能用 js 操作?

3、有些人说他们开发项目全用的是HTML+Ajax这样开发好吗?

不好,ajax 不好维护,应当只在必要的时候使用
[/Quote]
我现在做的这个项目就是用js(Ajax)操作的数据呀。。。。
hookyzlr 2010-10-27
  • 打赏
  • 举报
回复
ajax在提高客户体验方面有特长,在网站某一模块中使用能使网站质量大大提高,比如当客户批量处理数据,或者处理大量数据的时候,可是使用ajax,这样能避免页面"假死"状态对于使用者来说体验更好。但是如果网站全部用ajax实现,个人感觉没有那个必要
nitaiyoucala 2010-10-27
  • 打赏
  • 举报
回复
必要的时候用 就行了
phil999 2010-10-27
  • 打赏
  • 举报
回复
1、有没有必要全用Ajax异步操作数据?

没必要

2、什么情况下用.cs事件操作数据比较合理?

操作数据库就是在 .cs 里,你能用 js 操作?

3、有些人说他们开发项目全用的是HTML+Ajax这样开发好吗?

不好,ajax 不好维护,应当只在必要的时候使用
加载更多回复(2)
内容概要:本文围绕“空地多无人平台协同路径规划技术”的论文复现展开,重点介绍了基于Matlab的多无人机与地面无人平台协同路径规划的算法实现与仿真研究。研究系统性地整合了无人机三维路径规划、动态避障、多机协同、任务分配及防撞机制等核心技术,结合智能优化算法(如遗传算法、粒子群算法、灰狼优化算法等)与经典路径规划模型(如Dubins路径、A*、RRT等),在复杂威胁环境下实现了高效、安全的协同路径规划。文中提供了完整的Matlab代码支持,便于科研人员进行算法验证、性能对比与二次开发,并强调通过复现高水平学术论文(如EI、SCI期刊及硕博论文)深入掌握该领域的前沿方法与技术路线。; 适合人群:具备一定Matlab编程基础,从事无人机系统、自动化控制、人工智能、路径规划等相关领域研究的研究生、科研人员及工程技术人员,尤其适用于正在开展科研项目、撰写学位论文或希望提升算法实践能力的研究者。; 使用场景及目标:① 复现并深入理解空地协同路径规划领域的高水平论文算法;② 掌握Matlab在多智能体路径规划中的建模、仿真与可视化方法;③ 应用于科研课题、毕业设计、项目申报及算法创新实践中,提升研究的技术深度与工程可行性。; 阅读建议:建议结合文中提供的网盘资源(含完整代码、仿真模型及参考文献资料)同步学习,优先选择与自身研究方向契合的案例进行复现,注重算法原理与代码实现之间的映射关系,并在掌握基础方案后尝试进行参数调优、算法融合或引入新约束条件以实现改进与创新。

62,272

社区成员

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

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

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

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