asp.net – 在自动生成的GridView列中防止HTML编码
发布时间:2020-12-15 23:11:21 所属栏目:asp.Net 来源:网络整理
导读:我有一个GridView绑定到我构造的一个DataTable.表中的大多数列包含一个超链接链接的原始 HTML,我希望该 HTML作为浏览器中的链接呈现,但是GridView会自动对HTML进行编码,因此它将以标记形式呈现. 如何在没有明确添加HyperLink或任何其他列的情况下避免这种情
我有一个GridView绑定到我构造的一个DataTable.表中的大多数列包含一个超链接链接的原始
HTML,我希望该
HTML作为浏览器中的链接呈现,但是GridView会自动对HTML进行编码,因此它将以标记形式呈现.
如何在没有明确添加HyperLink或任何其他列的情况下避免这种情况? 解决方法
只需将
BoundColumn.HtmlEncode 属性设置为false:
< asp:BoundField DataField =“HtmlLink”HtmlEncode =“false”/> 恐怕没有一个简单的方法来禁用HTMLView中的HTML编码,并且具有 选项1:在执行基本方法之前,继承GridView类,覆盖Render方法,循环遍历所有单元,解码其内容: for (int i = 0; i < Rows.Count; i++) { for (int j = 0; j < Rows[i].Cells.Count; j++) { string encoded = Rows[i].Cells[j].Text; Rows[i].Cells[j].Text = Context.Server.HtmlDecode(encoded); } } 选项2:在从GridView继承的类中或在使用它的“页面”或“控件”中,自行检查DataTable并为每列创建一个显式的BoundColumn: foreach (DataColumn column in dataTable.Columns) { GridViewColumn boundColumn = new BoundColumn { DataSource = column.ColumnName,HeaderText = column.ColumnName,HtmlEncode = false }; gridView.Columns.Add(boundColumn); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 阻止对返回部分视图的控制器的直接URL访问?
- asp.net-mvc-4 – ASP.NET MVC 4单独项目中的区域不工作(查
- ASP.Net Web应用程序尝试使用Impersonation和Delegation连接
- asp.net – 评论.aspx
- Asp.Net MVC EnableClientValidation不起作用
- asp.net-mvc – Asp.Net MVC路由 – 如何匹配整个URL?
- asp。net内置委托
- ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
- 从ASP.Net获取UserID登录控件LoggedIn事件
- asp.net-mvc – DevExpress MVC GridView – 如何获取单元格
推荐文章
站长推荐
- .net – 每个堆栈跟踪线末尾的标志是什么?
- asp.net-mvc – 是否可以在一个命令中搭建多个控
- asp.net-mvc – ASP.NET MVC将数据从视图传递给控
- asp.net – ‘Sys.WebForms.PageRequestManager’
- asp.net – 更改User-Agent标头触发表单身份验证
- asp.net-mvc – 从Visual Studio 2015 Update 1
- asp.net-mvc – 我可以从子部分视图访问父视图的
- ASP.Net MVC Cookies不会持续存在
- asp.net – 在内容页面的主页面上设置属性值
- asp.net – 命令超时和连接超时之间的区别
热点阅读