


Detaillierte Fallzusammenfassung des Lernens von .net und Ajax
Verstehen Sie zunächst, was Ajax ist.
AJAX ist keine neue Programmiersprache, sondern eine Technologie zur Erstellung besserer, schnellerer und interaktiverer Webanwendungen.
Mit AJAX kann Ihr JavaScript über das XMLHttpRequest-Objekt von JavaScript direkt mit dem Server kommunizieren. Über dieses Objekt kann Ihr JavaScript Daten mit dem Webserver austauschen, ohne die Seite neu zu laden.
AJAX verwendet asynchrone Datenübertragung (HTTP-Anfragen) zwischen dem Browser und dem Webserver, was es einer Webseite ermöglicht, statt der gesamten Seite kleine Informationsmengen vom Server anzufordern.
Wenn es um Javascript geht, denkt jeder an Browserkompatibilitätsprobleme. Tatsächlich muss Ajax dieses Problem ebenfalls berücksichtigen. Da die von verschiedenen Browsern verwendeten Web-Javascript-Klassen unterschiedlich sind, sind die erzeugten Effekte nicht gleich. Kein Unsinn mehr, geben Sie einfach den Code direkt als Referenz ein.
{
var xmlhttp;//Nicht-IE-Browser erstellt XmlHttpRequest-Objekt
> . } XMLHTTPREQUEST-Objekte erstellen
if (Window.activexObject) {
Versuchen Sie es mit {
xmlhttp = New ActiveXObject ("microsoft.xmlhttp"); " >}
Wie fühlst du dich, wenn du diese Codes siehst? Es ist wirklich schwierig, sich diese Codes zu merken, die ich oben gesagt habe Jeder kann es im Allgemeinen verstehen. Wenn jedoch jede Seite teilweise aktualisiert werden muss, wird es sich als sehr mühsam erweisen, solchen Code für jede Seite zu schreiben. jQuery hat uns dabei geholfen, viele Dinge abzuschließen, was die Schwierigkeit bei der Entwicklung unserer Projekte verringern kann Verwenden Sie den jQuery-Code:
$.ajax({
URL: „some.php“,
Daten: „name=John&location=Boston“, Erfolg: function(msg){
warning( "Data Saved: " + msg );
}
}); Ein anderer Weg
$.post("test.php ", { name: „John“, time: „14 Uhr“ },
function(data){
warning("Data Loaded: " + data);
Das Folgende ist der Front-End- und Back-End-Code, den ich zum Implementieren und Anzeigen von Nicht-Aktualisierungskommentaren verwendet habe:
<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxComment.aspx.cs" Inherits="ajax learning.No restart comment.AjaxComment1" %>
$(function () {
$("#btnComment").click(function () {
var comment = $("#txtComment").val();
$.post("AjaxComment.ashx",{"msg":comment},
function (data, status) {
if (status != "success") {
warning("发表评论失败,请重试");
return;
if (data == "ok") {
var newComment = $("
$("#ulComment").append(newComment);
Alert("评论发表成功");
}
sonst. {
&
});
后台代码(AjaxComment.ashx)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ajax学习.DataSetCommentTableAdapters;
using System.Web.Services;
namespace ajax学习.无刷新评论
{
///
/// AjaxComment 的摘要说明
///
[WebService(Namespace = "http:// tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
öffentliche Klasse AjaxComment: IHttpHandler
{
public void ProcessRequest(HttpContext. context)
{
context.Response.ContentType = "text/plain";
string msg = context.Request["msg"];
new T_CommentTableAdapter().Insert(context.Request.UserHostAddress,msg,DateTime.Now .ToString());//使的是强类型DataSet
context.Response.Write("ok");
}
public bool IsReusable
. {
get
{
return false;
}
}
}
}大家看完前台代码是不是有疑问了, 如果传递很多字段, 很多属性的数据时, 该怎么办呢, 如果每个数据都是这样的自己split()一下的话, 那么做大项目的话肯定会累屎了, 下面jQuery有帮我们做了件好事情, 就是json的使用, 下面我引入我的使用无刷新评论的json代码
前台代码:
后台代码:
mit System;
mit System.Collections.Generic;
mit System.Linq;
mit System.Web;
mit System.Web.Services;
mit Ajax学习.DataSetCommentTableAdapters ;
using System.Web.Script.Serialization;
namespace ajax学习.无刷新分页
{
///
/// PagedServices 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
öffentliche Klasse PagedServices: IHttpHandler
{
public void ProcessRequest (HttpContext context) Welt" );
string action=context.Request["action"];
var adapter = new T_CommentTableAdapter();
if (action == "getpagecount")
int count=adapter.SelectCount().Value;
int pagecount=count/10;
if(count%10!=0)
. {
pagecount++;
}
Kontext .Response.Write(pagecount);
}
else if(action=="getpagedata")
{
string int iPageNum = Convert.ToInt32(pagenum);
var data = adapter.GetPagedData((iPageNum - 1) * 10 + 1, iPageNum * 10);
List
foreach(var row in data)
{
list.Add(new Comments() { Id = (int)row.Id, IP = row.IP, Msg = row.Msg, PostDate = row.PostDate, });
}
}
public bool IsReusable
{
get
{
return false;
> }
}
public class Comments
{
public int Id { get; set; }
public string IP{get;set;}
public string Msg{get;set;}
public string PostDate{get;set;}
}
}这样我们真的是省了很多力气啊,是不是jQuery很强大啊。。。。。。。。。。。。。
然后吧,微软感觉我必须封装自己的ajax,这样使得开发者做项目变得容易一些,微软真的是帮我们封装好了一个,但是对于高手来说,大家都不想用,感觉这样的代码太呆板,一点不灵活,我再下面引入代码,供新手参考:(不了解ajax运行原理的新手一样可以使用ajax快速开发新的项目)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UpdatPanel.aspx.cs" Inherits="ajax学习.UpdatePanel.UpdatPanel" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
但是微软后来真的是开发一个很好地工具,那就是ajax与WCF的结合,废话少说,引入代码,供大家思考
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCF_Ajax.aspx.cs" Inherits="ajax学习.WCF之Ajax.WCF_Ajax" %>
Backend-Code: (PersonService.svc)
unter Verwendung von System;
unter Verwendung von System.Collections. Generisch;
mit System.Linq;
mit System.Runtime.Serialization;
mit System.ServiceModel;
mit System.ServiceModel.Activation;
mit System.ServiceModel.Web;
mit System.Text;
Namespace-Ajax-Lernen
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
öffentliche Klasse PersonService
{
// Um HTTP GET zu verwenden, fügen Sie das Attribut [WebGet] hinzu. (Standard ResponseFormat ist WebMessageFormat.Json)
Zeile:
WebOperationContext.Current. WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml"; Aktionsimplementierung hier hinzufügen
return; 🎜> > public int Age{get;set;}
}
}
Ausführlichere Fallzusammenfassungen zum Erlernen von .net und Ajax finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Artikel wird die Herausforderungen des Nullzeigers in C untersucht. Es argumentiert, dass das Problem nicht null selbst, sondern seinen Missbrauch ist. Der Artikel beschreibt Best Practices zur Verhinderung der Verhindern, einschließlich Vor-Dre-Dre-Dereferenz-Überprüfungen, Zeiger initiali

Dieser Artikel führt Anfänger bei der Auswahl eines C -Compilers. Es wird argumentiert, dass GCC aufgrund seiner Benutzerfreundlichkeit, der breiten Verfügbarkeit und der umfangreichen Ressourcen für Anfänger am besten geeignet ist. Es wird jedoch auch GCC, Clang, MSVC und TCC vergleicht, wodurch ihre Unterschiede hervorgehoben werden

In diesem Artikel wird erläutert, wie Sie neue Zeilenzeichen in C mit der \ n Escape -Sequenz innerhalb von Printf erstellen und Funktionen setzt. Es beschreibt die Funktionalität und liefert Codebeispiele, die die Verwendung für Zeilenumbrüche in der Ausgabe demonstrieren.

Dieser Artikel betont die anhaltende Bedeutung von NULL in der modernen C -Programmierung. Trotz Fortschritten bleibt NULL für die explizite Zeigerverwaltung von entscheidender Bedeutung und verhindert Segmentierungsfehler, indem das Fehlen einer gültigen Speicheradresse markiert wird. Bestes Prac

Dieser Artikel bewertet Online -C -Compiler für Anfänger, die sich auf die Benutzerfreundlichkeit und Debugging -Funktionen konzentrieren. OnlineGDB und Repl.it sind für ihre benutzerfreundlichen Schnittstellen und hilfreichen Debugging-Tools hervorgehoben. Andere Optionen wie Programmiz und Compil

Dieser Artikel vergleicht Online -C -Programmierplattformen und zeigt Unterschiede in Funktionen wie Debugging -Tools, IDE -Funktionalität, Standardkonformität und Speicher-/Ausführungsgrenzen. Es wird argumentiert, dass die "beste" Plattform von den Benutzerbedürfnissen abhängt.

In diesem Artikel werden effizientes Codekopieren in C -IDEs erläutert. Es wird betont, dass das Kopieren eine IDE -Funktion ist, keine Compiler -Funktion, und Details Strategien für eine verbesserte Effizienz, einschließlich der Verwendung von IDE -Auswahltools, Codefalten, Suchen/Ersetzen, Templa

In diesem Artikel wird die Ausgabefenster in der C -Programmkompilierung fehlt. Es werden Ursachen untersucht, wie das Ausführen der ausführbaren Datei, Programmfehler, falsche Compiler -Einstellungen, Hintergrundprozesse und schnelle Programmabschluss. Lösungen umfassen Ch
