asp.net中弹出对话框,ListView中隐藏控件,validateRequest
2011-12-16 15:23
316 查看
网上收集的
有一种情况没有不知道如何实现,我要删除一个记录,弹出提示如“是否删除”,确定则删除,取消则不变,怎么做?
上面这一招利用后台RegisterStartupScript方法注入脚本比之前的Response.Write要好很多。如上面那个过程中的参数分别为
str_Message:要提示的信息,比如“是否确定删除?”
btn_Redirect_Flow:当按确定时,要执行的按钮的Click事件
btn_Redirect_Self: 当按取消时,要执行的按钮的Click事件
page: 一个Page类的
前的提示信息都可以用这种方法(RegisterStartupScript)来做。
当请求验证检测到潜在的恶意客户端输入时,会引发此异常来中止请求处理。请求中止能够指示危害您的应用程序安全的企图,例如跨站点脚本攻击。强烈建议让您的应用程序显式地检查与请求中止有关的所有输入。不过,您也可以通过将 @ Page 指令中的validateRequest 属性设置为
false 来禁用请求验证,如下面的示例所示:
<%@ Page validateRequest="false" %>
要禁用应用程序的请求验证,必须修改应用程序的 Web.config 文件或创建一个 Web.config 文件,并将 pages 节的validateRequest 属性设置为
false,如下面的示例所示:
在VS2010里面还要添加这样一句:<httpRuntime requestValidationMode="2.0" />
要禁用服务器上所有应用程序的请求验证,可以对 Machine.config 文件作此修改
还有一步是在page中在onerror事件中加入处理:
弹出对话框
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中实现弹出提示显示在控件上对话框()
- 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码
- 漂亮的弹出对话框,Asp.net的一个控件
- 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码
- ASP.NET Ajax控件弹出JS对话框
- 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码
- ASP.NET从服务端向客户端弹出alert("")对话框,但不使页面变成白板...
- ASP.net弹出消息对话框的方法!
- ASP.NET弹出对话框几种基本方法
- [CodeProject每日一荐] ASP.NET 仿MSN Messenger Alert的弹出窗口控件
- ASP.Net之 ListView控件专题
- asp.net中的弹出对话框
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- 【Asp.net之旅】--数据绑定控件之ListView
- ASP.net弹出消息对话框的方法!
- asp.net 2.0中的弹出对话框
- asp.net 2.0中的弹出对话框
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- asp.net 如何在updatepanel中弹出提示对话框
- ASP.NET弹出对话框几种基本方法