ASP.NET(C#) 如何使用BlockUI提示操作“成功”或“失败”信息

guanlianan 2012-07-26 01:25:13
如题,BlockUI似乎只能在<head></head>之间加个一个固定的提示信息,无论用户操作成功或失败都只会提示同一个信息。

现在我的需求是:当用户操作成功,则提示“操作成功”,否则提示“操作失败”!请问怎样修改?

再者使用BlockUI需要在每个页面的head之间加上js代码,使用也不是十分方便,如果能写在.cs类里那就更好了。


BlockUI官方地址:http://www.malsup.com/jquery/block/#download

下面是我写的调用BlockUI的类,可是有些问题,例如使用ScriptManager.RegisterStartupScript时,提示信息一闪即逝,而使用RegisterOnSubmitStatement时,第一次点击按钮不反应,第二次点击按钮才显示上一次操作的结果。所以花了很多时间研究也没有一个好结果,请程序猿兄弟们赐教!


/// </summary>
/// <param name="page">使用时写:this</param>
/// <param name="type">使用时写:this.GetType()</param>
/// <param name="strMsg"></param>
public static void BlockUI_Success(Page page, Type type, string strMsg)
{
System.Threading.Thread.Sleep(2000);

//页面执行 Submit 时显示 blockUI
string sScript = "$.blockUI({ message: '<h1 style=padding-top:30px;padding-bottom:20px;font-size:20px;color:#0C0; >" + strMsg + "</h1>' });";
//ScriptManager.RegisterStartupScript(page, type, "blockUI", sScript, true);//一闪即过
ScriptManager.RegisterOnSubmitStatement(page, type, "blockUI", sScript);


//页面载入时隐藏 blockUI
sScript = "$.unblockUI();";
ScriptManager.RegisterStartupScript(page, type, "unblockUI", sScript, true);
}


/// <summary>
/// BlockUI插件提示操作失败信息并自动关闭
/// </summary>
/// <param name="page">使用时写:this</param>
/// <param name="type">使用时写:this.GetType()</param>
/// <param name="strMsg"></param>
public static void BlockUI_Fail(Page page, Type type, string strMsg)
{
System.Threading.Thread.Sleep(2000);

//页面执行 Submit 时显示 blockUI
string sScript = "$.blockUI({ message: '<h1 style=padding-top:30px;padding-bottom:20px;font-size:20px;color:#F00; >" + strMsg + "</h1>' });";
//ScriptManager.RegisterStartupScript(page, type, "blockUI", sScript, true);//一闪即过
ScriptManager.RegisterOnSubmitStatement(page, type, "blockUI", sScript);


//页面载入时隐藏 blockUI
sScript = "$.unblockUI();";
ScriptManager.RegisterStartupScript(page, type, "unblockUI", sScript, true);

}
...全文
334 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanlianan 2012-08-07
  • 打赏
  • 举报
回复
每个问题都是无疾而终,没劲!还是自己解决了
guanlianan 2012-07-27
  • 打赏
  • 举报
回复
没人用?
hanqing_liu 2012-07-26
  • 打赏
  • 举报
回复
个人觉得这UI很戳,没什么功能
“DRY——避免重复代码”是一个优秀的开发者在开发软件时所具备的最重要的思想之一。我们在开发企业WEB应用程序时都有一些类似的需求,例如:都需要登录页面、用户/角色管理、权限验证、数据有效性验证、多语言/本地化等等。一个高品质的大型软件都会运用一些最佳实践,例如分层体系结构、领域驱动设计、依赖注入等。我们也可能会采用ORM、数据库迁移(Database Migrations)、日志记录(Logging)等工具。 从零开始创建一个企业应用程序是一件繁琐的事,因为需要重复做很多常见的基础工作。许多公司都在开发自己的应用程序框架来重用于不同的项目,然后在框架的基础上开发一些新的功能。但并不是每个公司都有这样的实力。假如我们可以分享的更多,也许可以避免每个公司或每个项目的重复编写类似的代码。作者之所以把项目命名为“ASP.NET Boilerplate”,就是希望它能成为开发一般企业WEB应用的新起点,直接把ABP作为项目模板。 ABP的全称是Asp.net boilerplate project(asp.Net样板工程)。是github上非常活跃的一个开源项目。它并没有使用任何新的技术,只是由两名架构师将asp.net开发中常用的一些工具整合到了一起,并且部分实现了DDD的概念。是一个开箱即用的框架,可以作为asp.net分布式应用的一个良好起点。 它的功能包括: 服务器端: 基于最新的.NET技术 (目前是ASP.NET MVC 5、Web API 2、C# 5.0,在ASP.NET 5正式发布后会升级) 实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等) 实现分层体系结构(领域层,应用层,展现层和基础设施层) 提供了一个基础架构来开发可重用可配置的模块 集成一些最流行的开源框架/库,也许有些是你正在使用的。 提供了一个基础架构让我们很方便地使用依赖注入(使用Castle Windsor作为依赖注入的容器) 提供Repository仓储模式支持不同的ORM(已实现Entity Framework 、NHibernate、MangoDb和内存数据库) 支持并实现数据库迁移(EF 的 Code first) 模块化开发(每个模块有独立的EF DbContext,可单独指定数据库) 包括一个简单的和灵活的多语言/本地化系统 包括一个 EventBus来实现服务器端全局的领域事件 统一的异常处理(应用层几乎不需要处理自己写异常处理代码) 数据有效性验证(Asp.NET MVC只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证) 通过Application Services自动创建Web Api层(不需要写ApiController层了) 提供基类和帮助类让我们方便地实现一些常见的任务 使用“约定优于配置原则” 客户端: Bootstrap、Less、AngularJs、jQuery、Modernizr和其他JS库: jQuery.validate、jQuery.form、jQuery.blockUI、json2等 为单页面应用程序(AngularJs、Durandaljs)和多页面应用程序(Bootstrap+Jquery)提供了项目模板。 自动创建Javascript 的代理层来更方便使用Web Api 封装一些Javascript 函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等 除ABP框架项目以外,还开发了名叫“Zero”的模块,实现了以下功能: 身份验证与授权管理(通过ASP.NET Identity实现的) 用户&角色管理 系统设置存取管理(系统级、租户级、用户级,作用范围自动管理) 审计日志(自动记录每一次接口的调用者和参数) 我共享的资料包含ABP(2.02版本)的一个Demo文件以及调试时候需要填的坑的处理方法(填了蛮久才填满。。。),还包括一本ABP中文教程。
ASP.NET Boilerplate采用了以下技术: 服务器端: ASP.NET MVC 5、Web API 2、C# 5.0 DDD领域驱动设计 (Entities、Repositories、Domain Services、Domain Events、Application Services、DTOs等) Castle windsor (依赖注入容器) Entity Framework 6 \ NHibernate,数据迁移 Log4Net(日志记录) AutoMapper(实现Dto类与实体类的双向自动转换) 客户端: Bootstrap Less AngularJs jQuery Modernizr 其他JS库: jQuery.validate、jQuery.form、jQuery.blockUI、json2 ABP框架已实现了以下特性: 多语言/本地化支持 多租户支持(每个租户的数据自动隔离,业务模块开发者不需要在保存和查询数据时写相应代码) 软删除支持(继承相应的基类或实现相应接口,会自动实现软删除) 统一的异常处理(应用层几乎不需要处理自己写异常处理代码) 数据有效性验证(Asp.NET MVC只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证) 日志记录(自动记录程序异常) 模块化开发(每个模块有独立的EF DbContext,可单独指定数据库) Repository仓储模式(已实现了Entity Framework、NHibernate、MangoDB、内存数据库) Unit Of Work工作单元模式(为应用层和仓储层的方法自动实现数据库事务) EventBus实现领域事件(Domain Events) DLL嵌入资源管理 通过Application Services自动创建Web Api层(不需要写ApiController层了) 自动创建Javascript 的代理层来更方便使用Web Api 封装一些Javascript 函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧