仓酷云 发表于 2015-1-16 22:34:10

ASP.NET网页编程之Ajax.net中与服务器控件的交互利用

以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。ajax|服务器|交互|控件  前两天在网高低了个ajax组件体验了一下,感到很不错。但厥后入手下手想如何能让它跟server控件交互呢,比方我上输入一个列表,就只要用js一条一条html的输入吗?不!!如今我说说如何与datagrid交互。
  注:ajax.net的组件能够到此网下载,我用的是for.net1.1版本的。http://ajax.schwarz-interactive.de/
  1.在援用中增加援用Ajax.dll。(这个很空话)
  2.在web.config中创建HttpHandler(这个固然是在system.web串里的)

<httpHandlers>
<addverb="POST,GET"path="ajax/*.ashx"type="Ajax.PageHandlerFactory,Ajax"/>
</httpHandlers>
  3.在Global的Application_Start里加上个设置
protectedvoidApplication_Start(Objectsender,EventArgse)
{
Ajax.Utility.HandlerPath="ajax";
}
  4.新建一个类DemoMethods,这个类内里供应了更新数据库和输入列表的办法。实在次要头脑就是取得控件运转后天生的html,然后输入。
1
2publicintAddAjaxTable(stringname)
3{
4//输出一个字符串,然后更新
5SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connectionString"]);
6SqlCommandcmd=newSqlCommand("insertintoajaxTable(name)values("+name+")",conn);
7cmd.Connection.Open();
8intresult=cmd.ExecuteNonQuery();
9conn.Dispose();
10cmd.Dispose();
11returnresult;
12}
13
14
15publicstringGetAjaxTable()
16{
17//这个办法就是拿到datagrid天生出来的html
18SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connectionString"]);
19SqlCommandcmd=newSqlCommand("select*fromajaxTableorderbyid",conn);
20SqlDataAdapterap=newSqlDataAdapter(cmd);
21DataSetds=newDataSet();
22ap.SelectCommand.Connection.Open();
23ap.Fill(ds,"db");
24
25conn.Dispose();
26cmd.Dispose();
27
28//实例化一个datagird类并设置好数据源
29DataGriddg=newDataGrid();
30dg.DataSource=ds.Tables["db"];
31dg.DataBind();
32
33//实例化一个HtmlTextWriter的类
34System.Text.StringBuilderstrb=newSystem.Text.StringBuilder();
35System.IO.StringWritersw=newSystem.IO.StringWriter(strb);
36System.Web.UI.HtmlTextWriterhtw=newHtmlTextWriter(sw);
37
38//实行控件的render并输入到HtmlTextWriter里
39dg.RenderControl(htw);
40
41strings=strb.ToString();
42
43returns;//最初就是前往这个html啦
44}
  5.然后再建一个default.js文件,用作寄存js办法functionAddAjax(name)
{
DemoMethods.AddAjaxTable(name);
LoadGrid();
}
functionLoadGrid()
{
varcc=document.getElementById("UCtd");
cc.innerHTML=DemoMethods.GetAjaxTable().value;
}
  6.建一个default.aspx,在pageload事务内里加个注册的器材
privatevoidPage_Load(objectsender,System.EventArgse)
{
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxTestPrjLib.DemoMethods));
}
  7.最初就是default.aspx的html和js了,呵呵
<%@Pagelanguage="c#"Codebehind="default.aspx.cs"AutoEventWireup="false"Inherits="AjaxTextPrjWeb._default"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>default</title>
<metaname="GENERATOR"Content="MicrosoftVisualStudio.NET7.1">
<metaname="CODE_LANGUAGE"Content="C#">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
<scriptlanguage="javascript"src="default.js"></script>
</HEAD>
<body>
<formid="Form1"method="post"runat="server">
<INPUTtype="text"id="AddTextBox"maxlength="10"><INPUTtype="button"value="增加">
<table>
<tr>
<tdid="UCtd"></td>
</tr>
</table>
</form>
</body>
</HTML>
  如许,就可以利用datagrid来输入表格了,呵呵。整体思绪实在仍是对照复杂的,往后有兄弟做出更好的,请贴出来,而我也会持续勉力的。感谢....持续事情往....
  原文地点:http://jasmineou.cnblogs.com/archive/2006/01/19/244312.html#320070
  三个月之前,我写了一篇关于ajax.net的post,人人看完以后反应挺年夜的。因而我一向想再深切研讨一下,看看能不克不及作一些改善,但正在这时候候,我的情感生存产生了些很凄惨的事...因而一向无意恋战。三个月后的如今,我从头拿起久久没碰过的vs.net,入手下手从头投进事情和进修。实在我这个也不算是甚么研讨,我对ajax.net框架的懂得和ajax的道理只是很全面,只是我想到他人没有想的器材而已,但愿人人今后多多交换,但愿我这篇post对人人有匡助。
  注:此次用的是asp.net2.0,控件是GridView,还在用asp.net1.1的伴侣欠好意义了。而此次利用的ajax.net框架也有点变化,用了AjaxProfor.net2.0(实在也一样)。
  此次的代码我就不细致啦,由于其实仍是对照多的。关于ajax.net的设置能够参照这篇文章ajax.net中与server控件的交互利用(一),demo能够在这里看http://210.21.123.253/AjaxTestPrjWeb/Default.aspx(这是我的机子,人人要保护啊,不要任意乱弄啊,demo工夫由早上9:30-18:00,还要请人人注重右上角的Loading字样...loading的时分就不要乱按了),源文件就到这里下载http://www.ckuyun.com/Files/jasmineou/AjaxTestPrj2.0.rar
  我剖析下详细头脑,实在就是将GridView放到一个UC内里,然后将UC的代码分别往类库里,然后页面的ajax向服务器要UC天生出来的html,然后再用javascript写到页面里....~实在这个只是单单用ajax完成没革新而已,在功能方面并没有太多的进步。妙手大概会笑我用这些本色上不算是用上ajax....呵呵~这个我供认。
  PS:有任何疑问能够加我的QQ:50446177,考证信息写cnblogswithajax
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。

admin 发表于 2015-1-19 16:43:45

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

柔情似水 发表于 2015-1-28 08:44:06

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

兰色精灵 发表于 2015-2-5 20:15:41

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

谁可相欹 发表于 2015-2-13 11:51:48

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

第二个灵魂 发表于 2015-3-3 21:10:40

网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!

不帅 发表于 2015-3-11 13:46:36

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

透明 发表于 2015-3-18 18:51:29

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。

分手快乐 发表于 2015-3-26 10:39:06

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
页: [1]
查看完整版本: ASP.NET网页编程之Ajax.net中与服务器控件的交互利用