MvcHtmlString解决MVC中从后台返回HTML代码被编码问题
- (1) 要得到的效果
<a class="easyui-linkbutton" data-options="iconCls:'icon-add'" id="dgRowAdd" plain="true">新增行</a>
- (2) 属性内编码被转换
<a class="easyui-linkbutton" data-options="iconCls:'icon-add'" id="dgRowAdd" plain="true">新增行</a>
- (3) 全部被转换
<a class="easyui-linkbutton" data-options="iconCls:&#39;icon-add&#39;" id="dgRowAdd" plain="true">新增行</a>
(2) (3)都不是我要的结果
因此我找了些资料,统和了下,最终转换的时候在最后代码输出的时候将HTML转换一下 HttpUtility.HtmlDecode
/// <summary>
/// DataGrid
/// Toolbar
/// </summary>
/// <param name="helper"></param>
/// <param name="id"></param>
/// <param name="text"></param>
/// <param name=""></param>
/// <param name="token"></param>
/// <param name="role"></param>
/// <param name="htmlAttributes"></param>
/// <returns></returns>
public static MvcHtmlString ToolbarFor(this HtmlHelper helper, string id, string text, string css, dynamic htmlAttributes)
{
var builder = new TagBuilder("a");
builder.IdAttributeDotReplacement = "-";
builder.GenerateId(id);
var dic = new RouteValueDictionary(htmlAttributes);
Dictionary<string, object> dicAttrs = new Dictionary<string, object>();
string token = string.Empty;
string role = string.Empty;
foreach (var item in dic)
{
switch (item.Key)
{
case "options":
dicAttrs.Add("data-options", item.Value);
break;
case "token":
token = Convert.ToString(item.Value);
break;
case "role":
role = Convert.ToString(item.Value);
break;
default:
dicAttrs.Add(item.Key, item.Value);
break;
}
}
if (!string.IsNullOrEmpty(token))
{
if (string.IsNullOrEmpty(role))
{
return MvcHtmlString.Create("");
}
if (MasterPermissionAuthorizeAttribute.HasRoles(token, role)==false)
{
return MvcHtmlString.Create("");
}
}
//添加属性
builder.MergeAttributes(dicAttrs); //添加样式
builder.AddCssClass(css);
builder.SetInnerText(text); //输出控件
return MvcHtmlString.Create(HttpUtility.HtmlDecode(builder.ToString(TagRenderMode.Normal)));
}
MvcHtmlString解决MVC中从后台返回HTML代码被编码问题的更多相关文章
- 二、Ajax请求MVC中数据查询表返回datatable
一.Ajax请求MVC中数据查询表返回datatable 解决方式 返回list
- 解决MVC中JSON字符长度超出限制的异常
解决MVC中JSON字符长度超出限制的异常 解决方法如下: <configuration> <system.web.extensions> <scripting> ...
- 在asp.net mvc中使用PartialView返回部分HTML段
问题链接: MVC如何实现异步调用输出HTML页面 该问题是个常见的 case, 故写篇文章用于提示新人. 在asp.net mvc中返回View时使用的是ViewResult,它继承自ViewRes ...
- ajax执行成功后,在success回调函数中把后台返回的list还原到html的table中
需求描述:前台通过onclick触发ajax,到后台返回一个list(json格式的),把list插入到html的table中. 思路简介: ̄□ ̄|| 刚开始的时候,是没有思路的,就卡在了,怎么把 a ...
- 使用Json.Net解决MVC中各种json操作
最近收集了几篇文章,用于替换MVC中各种json操作,微软mvc当然用自家的序列化,速度慢不说,还容易出问题,自定义性也太差,比如得特意解决循环引用的问题,比如datetime的序列化格式,比如性能. ...
- [转]在asp.net mvc中使用PartialView返回部分HTML段
本文转自:http://blog.csdn.net/sandy945/article/details/6307750 问题链接: MVC如何实现异步调用输出HTML页面 该问题是个常见的 case, ...
- 解决MVC中Model上的特性在EF框架刷新时清空的问题
MVC中关于前端数据的效验一般都是通过在Model中相关的类上打上特性来实现. 但是在我们数据库发生改变,EF框架需要刷新时会把我们在Model上的特性全部清除,这样的话,我们前端的验证就会失效. 因 ...
- spring mvc中,如何在 Java 代码里,获取 国际化 内容
首先,在Spring的application.xml中定义 <bean id="messageSource" class="org.springframework. ...
- 解决MVC中JsonResult返回 弹出文件下载对话框
设置一下返回类型为HTML TEXT就可以了 JsonResult json = Json(xxx, JsonRequestBehavior.DenyGet); json.ContentType = ...
随机推荐
- Azure Automation (5) 调整Azure SQL Database DTU
<Windows Azure Platform 系列文章目录> 之前有客户提了需求,在9点以后,把Azure SQL Database DTU提高 在凌晨,把Azure SQL Datab ...
- 使用log4net日志组件经验分享
常见步骤: 第一:在项目中引用log4net组件. 第二:配置log4net,一般都写在web.config中. 第三:调用部分. 具体怎么配置,大家可以参考博客其它博友写的,这里我只写我 ...
- 高仿QQ Xplan的H5页面
概述 这个h5的主要玩法很简单:地球自转的时候会播放背景音乐(比如海浪声),为了找到这个声音是从哪个地球上哪个地方传来的,需要长按下方的按钮,这时地球会自动转动到目标地点,然后镜头拉近,穿过云层,最后 ...
- 洛谷P4014 分配问题【最小/大费用流】题解+AC代码
洛谷P4014 分配问题[最小/大费用流]题解+AC代码 题目描述 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为c ij. 试设计一个将 n 件工作分配给 n 个人做的 ...
- 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库
好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...
- Java经典编程题50道之二十二
利用递归方法求5!. public class Example22 { public static void main(String[] args) { int n = 5; ...
- 从零开始学习前端JAVASCRIPT — 11、Ajax-前后端异步交互以及Promise-异步编程的改进
(注:本章讲解涉及部分后端知识,将以php提供数据的方式进行相应的demo实现) 1:ajax的概念 全称:Asynchronous Javascript And Xml AJAX不是一种新的编程语言 ...
- Java中空串和null串的区别
对于空串来说这是一个对象他被""这个对象给实例化了只是他的长度为0字符的内容为空. 而String变量中还可以存储一个特殊的值,这个是null,这个表示没有和其他的对象与这个变量相 ...
- BZOJ3223/洛谷P3391 - 文艺平衡树
BZOJ链接 洛谷链接 题意 模板题啦~2 代码 //文艺平衡树 #include <cstdio> #include <algorithm> using namespace ...
- Android的微信智能心跳方案
原文地址: 年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...