网站后台创建万能表单,字段如图

html页面判断用户是否登录状态,参数传递ajax异步,成功或失败后的业务处理。

//判断用户是否登陆
<script type="text/javascript"><%csharp%> DTcms.Model.users muc=GetUserInfo(); if(muc==null) {<%/csharp%>$('#centent').html('<div></div>');
layer.confirm('请先登陆,再继续阅读文章!', {btn: ['确定'] //按钮}, function(){location.href = '/login.aspx';
});
<%csharp%>
}else {
<%/csharp%>
//参数传递 ajax异步
var userid=<%=muc.id%>;
var wzid=<%=model.id%>;
var title="<%=model.title%>";
$.ajax({url: '/dev/ClickLoad.ashx',
type: 'POST',
dataType: 'json',
data: {action: 'GetContent',userid:userid ,wzid: wzid,title:title,
},
//成功或失败后的业务处理
success: function(d) {if(d.code==0){$('#centent').html(d.content);
}else{$('#centent').html('<div></div>');layer.msg(d.msg, function(){$('#centent').html('<div class="goumai"><a href="/zhifu.aspx?actionss={chanid}&wzid={model.id}">点击购买</a></div>');          });
}
},
error: function(e) {}
})
<%csharp%> }
<%/csharp%></script>

C# ashx处理业务逻辑

<%@ WebHandler Language="C#" Class="DTcms.Web.dev.ClickLoad" %>
using System;
using System.Collections.Generic;
using System.Web;
using System.IO;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using DTcms.Common;
using DTcms.DBUtility;
using NetWing.Common.Data.SQLServer;
using NetWing.Common.Request;
using NetWing.Common;
namespace DTcms.Web.dev
{/// <summary>/// dev 的摘要说明/// </summary>public class ClickLoad : IHttpHandler{public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";string action = context.Request["action"];if (string.IsNullOrEmpty(action)){context.Response.Write("{\"code\":1000, \"msg\":\"请求失败,参数有误!\"}");return;}switch (action){case "GetContent":  //获得要购买的文章GetContent(context);break;}}#region  购买文章public void GetContent(HttpContext context){string userid = context.Request["userid"];string wzid = context.Request["wzid"];string title = context.Request["title"];if (string.IsNullOrEmpty(userid) || string.IsNullOrEmpty(wzid)){context.Response.Write("{\"code\":1000, \"msg\":\"请求失败,参数有误!\"}");return;}string dtA = (string)SqlEasy.ExecuteScalar("select content from dt_article where id=" + wzid);DataRow drw = SqlEasy.ExecuteDataRow("select * from nw_customform_user_ffwz where userid=" + userid + " and wzid=" + wzid);string cishusql = "select * FROM dt_article_attribute_value where article_id="+wzid+"";//查询后台填写的文章可免费查看次数DataRow tongji = SqlEasy.ExecuteDataRow(cishusql);int lick = int.Parse(tongji["cishu"].ToString());if (drw == null){int code = SqlEasy.ExecuteNonQuery("INSERT INTO nw_customform_user_ffwz (userid,wzid,statu,add_time,number,title) VALUES (" + userid + "," + wzid + ",0,'" + DateTime.Now + "',1,'" + title + "')");if (code > 0){context.Response.Write("{\"code\":0, \"msg\":\"请求成功!\",\"content\":\"" + dtA + "\"}");}else{context.Response.Write("{\"code\":200, \"msg\":\"网络繁忙,请重新刷新网页!\",\"content\":\"" + dtA + "\"}");}}else{if (int.Parse(drw["statu"].ToString()) == 0 && int.Parse(drw["number"].ToString()) < lick){int number = int.Parse(drw["number"].ToString()) + 1;int code = SqlEasy.ExecuteNonQuery("update nw_customform_user_ffwz set number=" + number + " where id=" + drw["id"].ToString());if (code > 0){context.Response.Write("{\"code\":0, \"msg\":\"请求成功!\",\"content\":\"" + dtA + "\"}");}else{context.Response.Write("{\"code\":200, \"msg\":\"网络繁忙,请重新刷新网页!\",\"content\":\"" + dtA + "\"}");}}else if (int.Parse(drw["statu"].ToString()) == 1){int number = int.Parse(drw["number"].ToString()) + 1;int code = SqlEasy.ExecuteNonQuery("update nw_customform_user_ffwz set number=" + number  + " where id=" + drw["id"].ToString());if (code > 0){context.Response.Write("{\"code\":0, \"msg\":\"请求成功!\",\"content\":\"" + dtA + "\"}");}else{context.Response.Write("{\"code\":200, \"msg\":\"网络繁忙,请重新刷新网页!\",\"content\":\"" + dtA + "\"}");}}else{context.Response.Write("{\"code\":200, \"msg\":\"购买后才能查看!\"}");}}}#endregionpublic bool IsReusable{get{return false;}}}
}

C#:万能表单+ajax实现网站文章阅读次数限制,若达到限制次数,则需付费购买文章(单篇文章)相关推荐

  1. 万能表单+ajax+JQuery实现网站文章包月

    在单篇文章购买的基础上改进,修改为付费购买实现文章包月阅读. 在之前的基础上新增一个表单,用来控制文章购买时间及金额. 前端内容页代码块 <%csharp%>string chanid = ...

  2. 使用万能表单解析程序将表单数据封装成ListMap

    在JadePool中,提供了一个 万能表单解析类ProcessForm,目的是提供对ProcessVO实现插入或更新记录的支持. 它能将任意复杂的表单记录,包括所有的字段,包括单记录和多记录,解析并封 ...

  3. 万能表单解析工具在xheditor上传文件中的应用

    利用JadePool中的万能表单解析工具cn.jadepool.web.ProcessForm可以轻松解析表单提交的全部信息,甚至可以轻松获取一个未知结构的表单由那些字段组成.以下是在xheditor ...

  4. .form文件_含文件上传的form表单AJAX提交小结

    最近在学习PHP时,遇到不知道如何含文件上传的form表单AJAX提交,现在把这些记录下来以备自己后续复习时用: HTML代码 *姓名: *性别: {eq name='list.sex' value= ...

  5. 微信公众号里如何上传html,微信公众号怎么做表单,微信万能表单如何添加到公众号里...

    微信的使用占据着大众的日常,而微信上的一些订单.预约.登记.投诉.反馈等功能都可以使用微信万能表单来实现,那么微信万能表单怎么做?下文带来微信公众号表单制作方法,方法很简单,需要的朋友一起看看吧. 微 ...

  6. java动态字段的万能表单系统的构建

    背景:随着用户对对象属性的不断丰富,原来基于固定编码的类模型已经不能满足用户的需求,现在尝试编写一个动态字段的系统来实现模型属性的任意定制,并在此基础上不断扩展. 目标:用户可以用自定义的方式动态的为 ...

  7. 微信公众平台开发之万能表单

    微信公众平台开发之万能表单是为了方便我们得到用户的信息.我们可以在后台设置任何需要用户填写的信息,比如:电话,姓名,性别,工作等等信息,当然我们也可以设置一定的奖励,只要完善这些信息就可以得到一定的礼 ...

  8. 齐博x1任意位置调用万能表单的方法 顺便借楼说下purl的作用

    很多人都需要万能表单进行填写 大部人都不知道怎么填写提交地址,下面给出一个示例: <form name="" method="post" action=& ...

  9. $.ajaxSubmit form表单ajax提交

    Form表单ajax提交 <style>#agreementSub{margin-top: 20px;display: block;width: 100px;height: 40px;te ...

最新文章

  1. MySQL 学习笔记(10)—— 联结表
  2. spring 注解试事物源码解析
  3. 【Netty】Netty 核心组件 ( ChannelHandlerContext )
  4. DreamWeaver做ASP 第5页
  5. J2ee eclipse中配置 本地配置的maven
  6. 图形学教程Lecture 14: RayTracing1(Acceleration Radiometry)知识点总结
  7. Gitee 如何自动部署博客 Pages?推荐用这个GitHub Actions!
  8. 牛客题霸 [ 大数乘法] C++题解/答案
  9. 数据结构比较型排序算法分析及选择
  10. sr650服务器cpu型号,至强Gold 联想ThinkSystem SR650评测
  11. vscode中文支持xp_VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法
  12. 跟我学spring3 电子书下载(完)
  13. kmeans聚类算法matlab_KMeans聚类算法详解
  14. 2015年下半年的读书技术
  15. 建议让游客参与修长城
  16. css grid 自动高度_CSS Grid布局指南
  17. Python 文本转语音
  18. Android实战之淘宝领券(三)
  19. 资源---vc++2010学习版---注册码(注册码密匙)
  20. html表格的常用样式

热门文章

  1. 树莓派标准系统下VNC内外网远程桌面控制指南
  2. 数据存储---整形数据在内存中的存储
  3. 按键精灵初步,使用winIO实现驱动级模拟按键
  4. 使用VS2012 的15个技巧
  5. ibm类脑计算机,IBM首度公开仿人脑计算机
  6. 成熟稳定的免费开源机加工行业ERP客户案例分享
  7. 大学物理上册详细笔记_大学物理一笔记整理
  8. 世界因你不同-李开复新书选载
  9. Ubuntu下为Firefox安装Adobe Flash Playe
  10. ABP .NET Core 菜单配置与授权