解决方案 »
- 高分给答案,js动态创建Table,
- 询问xml和xsl编译为HTML问题
- 绑定控件的字段填充了整个窗体有什么好的解决方案吗?
- iframe框架样式怎么设置都变不了啊
- 高分求助!不够再加!
- 怎样访问服务器端的文件?
- 关于水晶报表默认打印机的问题:总是提示没找到默认的打印机
- 请问各位大虾为何在我想看.NET示例与快速入门教程时,就出现问题?
- 求个完美兼容ie6+,FireFox,Chrome,世界之窗浏览器的极速、兼容模式和360浏览器的极速、兼容模式的文件上传控件
- 如何单独打印DataGrid中的数据?
- DevExpress中的AspxGridView控件过滤值与主键问题
- 未能加载文件或程序集“DevExpress.Data.v10.2”或它的某一个依赖项。未能验证强名称签名。此程序集可能已被篡改,或者已被延迟签名,但没有用正确的
不要做伸手党
.done(function(d){});--------------------------------------test.ashx:string id = Context.Request.Forms["id"];//接收id参数值
//
//中间,查询数据,什么之类的自己写
//
Context.Respson.Write("1");//返回值======================精简版,看看可以,详细的,百度多的是
后台ashx接收参数然后做你的增删改查
最后向前台返回数据如果是查找,要先将datatable转换为List对象,序列化为JSON字符串后发给前台,前台接收后调用JS的Eval方法或jQuery的$.ParseJSON()方法反序列化为JS对象,然后就是组织你的dom操作生成table显示数据了。
如果是增删改,只需要返回ExcuteScalar的返回值,即影响行数就可以了。前台接收并作出相应的判断,给出alert就可以了。
http://www.cnblogs.com/insus/p/3372916.html
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;
}
}
}
}
ASP 三层,增加一般不会用到ashx页面,在后台改动就可以。
删除和修改,通过ajax把id发送到ashx页面,接收以后,写修改代码。再通过json返回值来判断操作是否成功。
你所谓的“三层”没有任何意义。只要是经过ashx来作为中间数据服务,这就是“三层”无疑。用不着学网上什么“三层”。所以你学会用ashx就行了。不用扯上“三层”,你写的也是三层代码。关键地是要学习你的javascript程序设计跟ashx程序“适配”的设计思路。在设计前端程序时,更多地考虑如何安排前后台通讯步骤,抛开关系数据库的思路,只应该按照实际的前后台通讯步骤去设计需求。例如一个页面,某个用户操作需要经由前端ajax代码调用服务器上的业务逻辑层“判断在某个id序号之后的时间里是否有自己的留言,如果有则返回最多10条留言信息”,这样一个ashx服务,不管这个服务内部需要访问几个数据库实例、访问多少个数据库表,总之其通讯逻辑就是“一次性”地提交几个参数、返回一组高级的业务对象。如果你满脑子只有数据库表增删改查,那么你口口生生所谓的“三层”只不过是在说着DAL层里的一小部分概念,根本不是三层。如果没有人训练你去真正进行系统设计,你可能一直都在进行学生课堂练习式“增删改查”设计而不会设计真正的数据应用产品。