asp.net中弹出对话框,ListView中隐藏控件,validateRequest
来源:互联网 发布:怎么制作淘宝店铺标志 编辑:程序博客网 时间:2024/05/16 17:11
网上收集的
弹出对话框
public static void ShowMessage(string strMsg) { System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');</script>"); } public static void ShowMessage(System.Web.UI.Page page, string strMsg) { page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');</script>"); } public static void ShowMessage(string strMsg, string Url) { System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>"); } public static void ShowMessage(System.Web.UI.Page page, string strMsg, string Url) { page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>"); } public static void ShowConfirm(string strMsg, string strUrl_Yes, string strUrl_No) { System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>if ( window.confirm('" + strMsg + "')) { window.location.href='" + strUrl_Yes + "' } else {window.location.href='" + strUrl_No + "' };</script>"); }
有一种情况没有不知道如何实现,我要删除一个记录,弹出提示如“是否删除”,确定则删除,取消则不变,怎么做?
public void Confirm(string str_Message, string btn_Redirect_Flow, string btn_Redirect_Self, Page page) { page.ClientScript.RegisterStartupScript(page.GetType(), " ","<script> if (confirm('" + str_Message + "')==true){document.forms(0)." + btn_Redirect_Flow + ".click();}else{document.forms(0)." + btn_Redirect_Self + ".click();}</script>"); }
上面这一招利用后台RegisterStartupScript方法注入脚本比之前的Response.Write要好很多。如上面那个过程中的参数分别为
- str_Message:要提示的信息,比如“是否确定删除?”
- btn_Redirect_Flow:当按确定时,要执行的按钮的Click事件
- btn_Redirect_Self: 当按取消时,要执行的按钮的Click事件
- page: 一个Page类的
前的提示信息都可以用这种方法(RegisterStartupScript)来做。
ListView中隐藏控件
首先我们无法得到ListView中Item的Id,但是在ListView的OnItemDataBound事件中可以做到,代码如:
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) { if (Session["UserId"] != null) { if (Session["UserId"].ToString().ToUpper() != iHomePage.Database.SupperUserId) { if((e.Item.FindControl("DeleteButton") as Button)!=null) (e.Item.FindControl("DeleteButton") as Button).Visible = false; } } else { (e.Item.FindControl("EditButton") as Button).Visible = false; (e.Item.FindControl("DeleteButton") as Button).Visible = false; } }
validateRequest
在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需要的数据可以通过各种形式的输入在请求中传入。通过在应用程序中的较低级别限制允许通过的数据类型,就可以阻止不希望的事件,即使当使用代码的程序员没有恰当地使用合适的验证技术时也是如此。
当请求验证检测到潜在的恶意客户端输入时,会引发此异常来中止请求处理。请求中止能够指示危害您的应用程序安全的企图,例如跨站点脚本攻击。强烈建议让您的应用程序显式地检查与请求中止有关的所有输入。不过,您也可以通过将 @ Page 指令中的validateRequest 属性设置为false 来禁用请求验证,如下面的示例所示:
<%@ Page validateRequest="false" %>
要禁用应用程序的请求验证,必须修改应用程序的 Web.config 文件或创建一个 Web.config 文件,并将 pages 节的validateRequest 属性设置为false,如下面的示例所示:
<configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration>
在VS2010里面还要添加这样一句:<httpRuntime requestValidationMode="2.0" />
要禁用服务器上所有应用程序的请求验证,可以对 Machine.config 文件作此修改
还有一步是在page中在onerror事件中加入处理:
protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Redirect("Default.aspx"); Server.ClearError(); } }
- asp.net中弹出对话框,ListView中隐藏控件,validateRequest
- asp.net 中弹出对话框
- 在ASP.net中弹出"另存为"对话框
- 在ASP.NET(GridView)中弹出一个对话框
- ASP.NET的后置代码中弹出客户端的对话框
- asp.net 如何在updatepanel中弹出提示对话框
- Asp.net 中弹出窗口
- Asp.NET中弹出窗口
- ASP.NET中弹出窗口
- .NET中弹出对话框的使用
- 在Asp.net 中弹出对话框是(Response.write不是好方法)
- 在Asp.net中弹出对话框,然后跳转到其他页面问题
- ASP.NET 开发中弹出提示对话框的2种方法
- ASP.NET中弹出窗口技术
- 精通ASP.NET中弹出窗口技术
- 精通ASP.NET中弹出窗口技术
- 精通ASP.NET中弹出窗口技术
- 浅谈ASP.NET中弹出窗口技术
- oracle seq 小记
- 关于绘制文本详细论述
- Struts2.X起步
- adroid 类似QQ,点击输入框外面可以消失软键盘
- 华硕K40IN关闭触摸板
- asp.net中弹出对话框,ListView中隐藏控件,validateRequest
- 我们项目中对Ext.gird.EditorGridPanel是如何添加一行,删除一行的
- CAGR
- java多线程总结二:后台线程(守护线程)
- android输入流转换为Bitmap
- 清除空白行
- 关于异常 No Dialect mapping for JDBC type 记载
- java 编码实例分析(二)
- excel中计算两个日期之间的相差多少天