0001:
MagicAjax官方主页:www.magicajax.net
----------------------------------------------------------------------------------------------------
0002:
MagicAjax的局限性:
●在AjaxPanel的AjaxCall过程中,如果有样式变化,客户端浏览器将不会刷新(除非使用MagicAjax的类库处
理)。
●FileUpload空间在AjaxPanel中无法使用。
----------------------------------------------------------------------------------------------------
0003:
如何去掉MagicAjax中的Loading:
●获取MagicAjax的源代码(如果升级到.NET 2.0,则要使用新生成的这个项目文件打开编译)。
●打开MagicAjax源代码中的AjaxCallObject.js文件,找到CreateWaitElement函数(代码最后的一个函数)。
●可以修改为如下代码:(去掉了Loading)
function CreateWaitElement() {
var elem = document.getElementById('__AjaxCall_Wait');
if (!elem) {
elem = document.createElement("div");
elem.id = '__AjaxCall_Wait';
elem.style.visibility = 'hidden';
document.body.insertBefore(elem, document.body.lastChild);
}
waitElement = elem;
}
●重新编译项目即可。
----------------------------------------------------------------------------------------------------
0004:
MagicAjax的使用:
●添加MagicAjax.dll的引用。
●在工具箱中也添加MagicAjax.dll(这样就可以直接拖拽控件到页面上)。
●配置web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!--【1】为MagicAjax添加的配置-->
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<!--【2】为MagicAjax添加的配置-->
<magicAjax tracing="false">
<pageStore/>
</magicAjax>
<appSettings/>
<connectionStrings/>
<system.web>
<pages>
<controls>
<!--【3】为MagicAjax添加的配置-->
<add namespace="MagicAjax.UI.Controls" assembly="MagicAjax" tagPrefix="ajax"/>
</controls>
</pages>
<httpModules>
<!--【4】为MagicAjax添加的配置-->
<add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
</httpModules>
<compilation debug="true">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
<authentication mode="Windows"/>
</system.web>
</configuration>
----------------------------------------------------------------------------------------------------
0005:
MagicAjax很好的解决了脚本跨域问题,如果Ajax是在一个嵌入在Iframe的页面中实现的,那么微软的Atlas是
无法解决跨域问题(微软官方已经说明)。那么这种情况的Ajax实现可以使用MagicAjax和AjaxPro的实现。
----------------------------------------------------------------------------------------------------
0006:
CallTimer的使用:
HTML部分:
<ajax:AjaxPanel ID="AjaxPanel1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="进程名称" DataField="ProcName" />
<asp:BoundField HeaderText="内存占用率" DataField="ProcMemory" />
</Columns>
</asp:GridView>
</ajax:AjaxPanel>
源代码部分:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MagicAjax.AjaxCallHelper.SetAjaxCallTimerInterval(500);
}
ShowProcesses();
}
private void ShowProcesses()
{
System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();
System.Data.DataTable dt = new System.Data.DataTable("Processes");
dt.Columns.Add("ProcName");
dt.Columns.Add("ProcMemory", typeof(Int64));
foreach (System.Diagnostics.Process process in processes)
{
dt.Rows.Add(new object[] { process.ProcessName, process.WorkingSet64 / 1000 });
}
System.Data.DataView dv = dt.DefaultView;
dv.Sort = "ProcMemory DESC";
this.GridView1.DataSource = dv;
this.GridView1.DataBind();
}
----------------------------------------------------------------------------------------------------
0007:
在AjaxPanel中使用消息提示框:MagicAjax.AjaxCallHelper.WriteAlert("你好");
MagicAjax使用手册
最新推荐文章于 2024-09-04 22:20:02 发布