Ajax - 异步处理(点击变成文本框并修改)
效果:


对应的文档结构:

Test.aspx 前台代码:
- 引入JQuery(jquery-1.8.3.min.js)。
- 引入自己所写的JS代码(UserJS.js)。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/UseJS.js"></script>
<style type ="text/css">
#table1 {
margin:0 auto;
}
#table1 tr, #table1 tr th, #table1 tr td{
border:1px solid #ff6a00;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<table id ="table1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Score</th>
</tr>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><%#Eval("ID") %></td>
<td><%#Eval("Name") %></td>
<td class ="Score"><%#Eval("Score") %></td>
</tr>
</ItemTemplate> </asp:Repeater>
</table>
</form>
</body>
</html>
Test.aspx.cs 前台页面对应的后台代码:
protected void Page_Load(object sender, EventArgs e)
{
string text = "select ID, Name, Score from Tb_Mark";
this.Repeater1.DataSource = SQLHelper.ExecuteTable(text, CommandType.Text);
this.Repeater1.DataBind();
}
UserJS.js 自己所写的JS代码:
$(function () {
//为每一个Class为Score的标签添加Click事件
$(".Score").click(function () {
var object = $(this);//保存对象
var Oldvalue = object.text();//获取文本框中的值
var input = $("<input type='text' value=" + Oldvalue + ">");//保存input对象
object.html(input);//将上面所定义的文本框写入到界面
input.select();//将文本框中的内容处于选中状态
input.click(function () {//文本框的点击事件
return false;//使点击过后的文本框失效
})
//获取ID值
var ID = object.prev().prev().text();
//这个步骤是,将文本框中的值(不管是新值还是原始值),重新变成文本显示
//同时也解决了,其他文本框为多选中的问题
input.blur(function () {//失去焦点事件
var NewValues = $(input).val();//获取文本框中的值
object.html(NewValues);//使文本框变为新值
//-----------------------------------------使用Ajax异步执行--------------------------------------------//
//Ajax异步执行
$.ajax({
type: "GET",
url: "../Handeler/Ajax.ashx",//用来指定要传递给哪个处理页面(不限于一般处理程序,也可以使aspx页面)。
data: "Value=" + encodeURI(NewValues) + "&ID=" + ID + "",//要传递的数据。
success: function (msg) {//接收后台程序的返回值。
if (!msg) {
alert("修改失败!");
}
}
});
//----------------------------------------------------------------------------------------------------//
});
})
})
Ajax.ashx 后台的一般处理程序代码:
- 如果使用 GET 传值,则使用
Request.QueryString["ID"].ToString(); 进行接收数据。 - 如果使用 POST 传值,则使用
Request.Form["ID"].ToString(); 进行接收数据。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DAL; namespace Shop.Handeler
{
/// <summary>
/// Ajax 的摘要说明
/// </summary>
public class Ajax : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
//Ajax异步执行
//$.ajax({
// type: "GET",
// url: "../Handeler/Ajax.ashx",//用来指定要传递给哪个处理页面(不限于一般处理程序,也可以使aspx页面)。
// data: "Value=" + encodeURI(NewValues) + "&ID=" + ID + "",//要传递的数据。
// success: function (msg) {//接收后台程序的返回值。
// if (!msg) {
// alert("修改失败!");
// }
// }
//});
string ID = context.Request.QueryString["ID"].ToString();
string value = context.Request.QueryString["Value"].ToString();
string text = "update Tb_Mark set Score = '" + context.Server.UrlDecode(value) + "' where ID = '" + ID + "'";
if (!(SQLHelper.ExecuteNonQuery(text, System.Data.CommandType.Text) == 1))
{
context.Response.Write(true);
}
else
{
context.Response.Write(false);
}
} public bool IsReusable
{
get
{
return false;
}
}
}
}
Ajax - 异步处理(点击变成文本框并修改)的更多相关文章
- input文本框禁止修改文本——disabled和readonly属性的作用及区别
1.input文本框禁止修改文本 disabled属性:<input type="text" name="name" value="xxx&qu ...
- zTree中 checkbox 点击向文本框中赋值
例子如下:第一个 文本框: <div class="content_wrap" style="height: 0;position: relative; " ...
- Selenium_按钮的点击、文本框的输入和清除操作(3)
from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get(" ...
- JQ 点击指定文本框显示div。点击其他区域隐藏DIV
<input id="username" type="text" style="width:90%;margin-top: 40px;" ...
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
1,实现方法一:通过给当前界面布局文件的父layout设置点击事件(相当于给整个Activity设置点击事件),在事件里进行键盘隐藏 <LinearLayout xmlns:android=&q ...
- mvc ---- ajax 提交 (ckeditor)富文本框 提示潜在危险 Request.Form
ajax 提交 ckeditor 中的内容怎么提交都提交不了,折腾半天,后来终于找到问题 在你的方法头上加 [HttpPost] [ValidateInput(false)] public Actio ...
- easyui 点击combox 文本框 显示下拉 panel
$(".combo-text").click(function () { var mid = $(this).parent().parent().find("select ...
- ajax实例及实现文本框异步搜素
search.jsp(WebContent/jsp/search.jsp) <%@ page language="java" contentType="text/h ...
- js中点击空白区域时文本框与隐藏层的问题
当文本框获得焦点的时候,在文本框的下方显示一个浮动层. 当用户点击除了文本框和浮动层以外的网页空白处时,要隐藏浮动层. 当用户点击浮动层时,改变文本框的值. <!DOCTYPE html PUB ...
随机推荐
- MySQL中关于日期、时间的数据类型和函数
一.日期相关的数据类型 1.datetime 占用8字节,既显示了日期,又显示了时间.其表示的日期范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59” 2.da ...
- Android 涂鸦最佳实践
Android中实现手势画图一般都两种方式,一是直接在View上绘制,而是使用SurfaceView. 两者还是有一些差别的.简介下. View:显示视图,内置画布,提供图形绘制函数.触屏事件.按键事 ...
- 手势滑动结束 Activity(一)基本功能的实现
喜欢听音乐的朋友可能都看过天天动听这款 app, 这款 app 有一个亮点就是在切换页面(Fragment)的时候能够通过手势滑动来结束当前页面.这里先说一下,我为什么会这么关心这个功能呢,由于前两天 ...
- 在Delphi开发的服务中调用指定应用程序
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://fxh7622.blog.51cto.com/63841/529033 在很多时候 ...
- Python:渗透测试开源项目
Python:渗透测试开源项目[源码值得精读] sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工 ...
- Java I/O流-PipedInputStream、PipedOutputStream
一.整体代码图 PipedStreamDemo.java import java.io.*; class PipedStreamDemo { public static void main(Strin ...
- P65
#include<stdio.h> #define N 6 main() { char c[N]; int i=0; for(;i<N;c[i]=getchar(),i++); pr ...
- php 中 return exit break contiue 详解
return.break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数. 1.exit函数 作用:Output a message and terminate the cur ...
- UIViewController加载过程
UIViewController是视图和数据的桥梁,UIViewController是所有controller的基类,ios内置了很多试图控制器,如导航控制器,tableViewController等 ...
- python对web服务器做压力测试并做出图形直观显示
压力测试有很多工具啊.apache的,还有jmeter, 还有loadrunner,都比较常用. 其实你自己用python写的,也足够用. 压力测试过程中要统计时间. 比如每秒的并发数,每秒的最大响应 ...