ASP.NET AJAX Extensions 实现信息框

在ASP.NET 2.0环境中,可以使用ASP.NET AJAX Extensions来创建和使用服务器端控件。本文将介绍如何实现一个信息框(InfoBox)控件,该控件可以在页面上显示消息,并且可以适应HTTP提交模式和AJAX回调显示消息。

“Memba Velodoc XP Edition”是一个开源控件集合,其中包含了本文将要使用的InfoBox控件。可以从Codeplex、Google Code或SourceForge.NET下载这些控件,它们在GPL许可下分发。

使用代码

在Visual Studio 2005中,创建一个新的ASP.NET AJAX启用的网站,并添加对Memba.WebControls.XP.dll的引用,该DLL包含InfoBox服务器控件。源代码可在上述下载位置获取。

打开Default.aspx页面,并添加InfoBox服务器控件,可以通过将控件拖放到工具箱中然后拖放到页面上,或者简单地在现有的

标签之间添加以下代码:

<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager" runat="server" /> <mbui:InfoBox ID="InfoBox" runat="server" Text="Hello World" Width="400px" CssClass="cssInfoBox" TextCssClass="cssInfoBoxText"></mbui:InfoBox> <br /> <br /> <select id="cboType"> <option>Error</option> <option selected="selected">Information</option> <option>Ok</option> <option>Warning</option> </select> <input id="txtMessage" type="text" value="Test message" /> <input id="btnAll" type="button" value="set all" /> <input id="btnTemp" type="button" value="set temp" /> <asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="submit" /> </form>

可能需要在页面顶部注册控件,使用以下语句:

<%@ Register Assembly="Memba.WebControls.XP" Namespace="Memba.WebControls" TagPrefix="mbui" %>

此外,添加一个HTML下拉列表(cboType)、一个HTML文本框(txtMessage)、两个HTML按钮(btnAll和btnTemp)以及一个ASP.NET提交按钮(btnSubmit)。

InfoBox控件是一个具有一行两列的表格,第一列包含图像,第二列嵌入一个span用于文本。注意InfoBox控件的text属性可以使用本地化资源,并且可以使用ASP.NET主题进行皮肤设置。

服务器端代码

显然,可以使用服务器端代码设置图标和文本。双击ASP.NET提交按钮,并实现Click事件处理程序如下:

protected void btnSubmit_Click(object sender, EventArgs e) { InfoBox.Type = Memba.WebControls.InfoBoxType.OK; InfoBox.Text = "Submission complete"; }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485