用ashx和Ajax做一个增删改查

yiruoleng 2014-08-15 11:30:47
刚接触ASHX,对AJAX又不熟,已经有三层了,只要调用方法实现功能
...全文
1126 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cainiaoecho1234 2015-01-06
  • 打赏
  • 举报
回复
你现在有这个代码吗?
Vivu_wl 2014-08-18
  • 打赏
  • 举报
回复
ajax,把前台参数传给ashx,然后ashx接收数据进行操作,最后ashx返回操作数据,前台页面再根据ashx返回的值操作。过程是这样的。
cyssxf101 2014-08-16
  • 打赏
  • 举报
回复
和js用法差不多
淡淡的活着 2014-08-16
  • 打赏
  • 举报
回复
ajax 传值 然后ashx 接收 然后判断是否为null 如果不 进入方法进行添加删除修改
  • 打赏
  • 举报
回复
如果你能够有意地去按照真正的“三层”的思路去设计你假想出来的的前端程序需求,避免陷入“增删改查”的低级趣味中,再来写程序,一旦悟出点道理,再去从事编程这个职业就会觉得有一点成就感了,你总是有一定的设计思路了,不是一个代码抄袭工人了。
  • 打赏
  • 举报
回复
引用 楼主 yiruoleng 的回复:
刚接触ASHX,对AJAX又不熟,已经有三层了,只要调用方法实现功能
你所谓的“三层”没有任何意义。只要是经过ashx来作为中间数据服务,这就是“三层”无疑。用不着学网上什么“三层”。 所以你学会用ashx就行了。不用扯上“三层”,你写的也是三层代码。 关键地是要学习你的javascript程序设计跟ashx程序“适配”的设计思路。在设计前端程序时,更多地考虑如何安排前后台通讯步骤,抛开关系数据库的思路,只应该按照实际的前后台通讯步骤去设计需求。 例如一个页面,某个用户操作需要经由前端ajax代码调用服务器上的业务逻辑层“判断在某个id序号之后的时间里是否有自己的留言,如果有则返回最多10条留言信息”,这样一个ashx服务,不管这个服务内部需要访问几个数据库实例、访问多少个数据库表,总之其通讯逻辑就是“一次性”地提交几个参数、返回一组高级的业务对象。 如果你满脑子只有数据库表增删改查,那么你口口生生所谓的“三层”只不过是在说着DAL层里的一小部分概念,根本不是三层。如果没有人训练你去真正进行系统设计,你可能一直都在进行学生课堂练习式“增删改查”设计而不会设计真正的数据应用产品。
  • 打赏
  • 举报
回复
先把ajax学会 不要做伸手党
卷泥巴重来 2014-08-15
  • 打赏
  • 举报
回复
这个,什么说呢?网上有例子,看一下就明白!
bdmh 2014-08-15
  • 打赏
  • 举报
回复
百度,google,自己查去
一个大猴子 2014-08-15
  • 打赏
  • 举报
回复
你要MVC 还是 ASP 三层。 ASP 三层,增加一般不会用到ashx页面,在后台改动就可以。 删除和修改,通过ajax把id发送到ashx页面,接收以后,写修改代码。再通过json返回值来判断操作是否成功。
qqm05 2014-08-15
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WebApplication1.Bll;
using WebApplication1.Model;
namespace WebApplication1
{
    /// <summary>
    /// Action 的摘要说明
    /// </summary>
    public class Action : IHttpHandler
    {
        private TestBll bll;
        public Action()
        {
            bll = new TestBll();
        }

        public void ProcessRequest(HttpContext context)
        {

            string action = context.Request["Action"];
            switch (action)
            {
                case "Create":
                    Create(context);
                    break;
                case "Retrieve":
                    Retrieve(context);
                    break;
                case "Update":
                    Update(context);
                    break;
                case "Delete":
                    Delete(context);
                    break;
                default:
                    List(context); break;
            }

        }
        #region 增加
        private void Create(HttpContext context)
        {
         
        }
        #endregion
        #region 读取
        private void Retrieve(HttpContext context)
        {
            try
            {
                //判断权限
                if(无操作权限)
                {
                    //日志记录
                    //错误提示
                }
                //参数获取
                int id = Convert.ToInt32(context.Request["Id"]);
                //调用Bll层获取对象
                TestModel model = bll.GetModelById(id);
                if (model == null)//找不到对象
                {
                    //日志记录
                    //错误提示
                }
                //数据输出
                context.Response.Write(json对象或者其他);
            }
            catch (Exception ex)
            {
                //日志记录
                //错误提示
            }
        }
        #endregion

        #region 更新
        private void Update(HttpContext context)
        {
            
        }
        #endregion

        #region 删除
        private void Delete(HttpContext context)
        {
            
        }
        #endregion


        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

insus 2014-08-15
  • 打赏
  • 举报
回复
yaotomo 2014-08-15
  • 打赏
  • 举报
回复
$.Post()调用后台ashx,传递参数 后台ashx接收参数然后做你的增删改查 最后向前台返回数据 如果是查找,要先将datatable转换为List对象,序列化为JSON字符串后发给前台,前台接收后调用JS的Eval方法或jQuery的$.ParseJSON()方法反序列化为JS对象,然后就是组织你的dom操作生成table显示数据了。 如果是增删改,只需要返回ExcuteScalar的返回值,即影响行数就可以了。前台接收并作出相应的判断,给出alert就可以了。
ningyb 2014-08-15
  • 打赏
  • 举报
回复
$.post("test.ashx",{"id":"1"}) .done(function(d){ }); -------------------------------------- test.ashx: string id = Context.Request.Forms["id"];//接收id参数值 // //中间,查询数据,什么之类的自己写 // Context.Respson.Write("1");//返回值 ====================== 精简版,看看可以,详细的,百度多的是
代码转载自:https://pan.quark.cn/s/50df8825dc0d Tensilica Xtensa指令集架构手册是一份详尽阐述Xtensa指令集架构(ISA)的参考指南,它主要面向Tensilica公司所推出的处理器核心,尤其是LX106核,同时亦涵盖了ESP8266和ESP32等相关内容。该手册全面介绍了Xtensa处理器核心的指令集、配置选项、扩展能力以及将架构映射至硬件的详细情况。接下来将依据手册中所述的知识点进行深入解读。 ### Xtensa指令集架构(ISA) Xtensa指令集架构是Tensilica公司为其处理器产品设计的一套指令集,该指令集具备高度的可配置性和可扩展性。这一特性使得Xtensa ISA能够在不同的应用领域和硬件需求中进行个性化定制,以满足特定的功能与性能要求。 #### 可配置性(Configurability) Xtensa ISA的可配置性体现在用户可以根据实际需求对处理器的多个方面进行定制。这包括但不限于: - **指令集扩展**:用户可以根据特定的应用需求添加新的指令,从而提升处理特定任务的效率。 - **寄存器文件扩展**:根据应用需求,可以增加或优化处理器的寄存器数量和类型。 - **协处理器扩展**:通过集成特定的协处理器,可以将专门的计算任务卸载到协处理器上,从而提升整体性能。 #### 可扩展性(Extensibility) Xtensa ISA不仅可配置,还拥有卓越的可扩展性,它支持多种扩展,包括: - **状态扩展(State Extensions)**:允许处理器添加新的状态寄存器,以支持新的功能或增强现有功能。 - **指令扩展(Instruction Extensions)**:...
下载代码方式:https://pan.quark.cn/s/8779ceeac982 YOLOv5被认为是一种功能卓越且精确度高的目标检测系统,它在即时处理场景中展现出优越的性能。"基于YOLOv5的火灾检测"计划致力于运用这项尖端的计算机视觉方法,以达成对火焰和烟雾的有效辨识,进而起到防止及降低火灾事故的作用。在这个压缩文件里,用户能够获取到预先训练完成的模型,这表示使用者能够直接执行推理检测,无需从头开始训练模型。 我们现在将详细探讨YOLO(You Only Look Once)系统。YOLO是一种单阶段的目标检测方法,它将目标检测任务转化成回归问题,通过直接预测边界框和类别可能性来迅速识别图像中的物体。YOLOv5是这一系列的最新迭代,由Ultralytics团队研发,它在前几代的基础上进行了改进,包括更迅速的训练速率、更精准的检测以及更强的适应性。 YOLOv5的关键优化包含: 1. **数据增强**:应用了Mosaic数据增强技术,这是一种融合了随机缩放、翻转、裁剪及色彩调节的技巧,增强了模型的普遍适用性。 2. **更高效的架构**:运用了SPP-Block(Spatial Pyramid Pooling)和Path Aggregation Network (PANet)设计,提升了特征提取的效能和精确度。 3. **权重初始化**:采用了更优化的权重初始化策略,使模型在初始训练阶段就能更快地达到收敛。 4. **联合训练**:YOLOv5支持多尺度训练,即同步训练不同尺度的网络,以改善对小目标的检测效果。 5. **优化的损失函数**:使用了GIOU(Generalized IoU)损失函数,改进了边界框的定位。 针对火灾检测的应用,YOLOv...

62,271

社区成员

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

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

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

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