|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前学了大概半年时间的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[Ajax.AjaxMethod]
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[Ajax.AjaxMethod]
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效果。现在就不知道如何是好了。 |
|