用ashx和Ajax做一个增删改查

yiruoleng 2014-08-15 11:30:47
刚接触ASHX,对AJAX又不熟,已经有三层了,只要调用方法实现功能
...全文
1052 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");//返回值 ====================== 精简版,看看可以,详细的,百度多的是

62,040

社区成员

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

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

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

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