长春专业网站制作公司,安装wordpress 此网页包含重定向循环,美食软文300范例,wordpress的管理员权限代码3,Razor与HTML混合输出陷阱与技巧 属性名称误判有时候我们必须让html内容与razor语句紧接在一起#xff0c;eg: 您好#xff0c;a先生假设变量名称为ViewBag.Name#xff0c;您好#xff0c;ViewBag.Name 先生 //这样输出就只有”您好#xff0c;”#xff0c;后面的Na…3,Razor与HTML混合输出陷阱与技巧 属性名称误判 有时候我们必须让html内容与razor语句紧接在一起 eg: 您好a先生 假设变量名称为ViewBag.Name 您好ViewBag.Name 先生 //这样输出就只有”您好”后面的Name 先生被当做是viewbag的属性去了所以如果要解决这个问题就是加个小括号便好如 “您好(ViewBag.Name )先生” 还有一个办法就是用一个html标签包起来如“您好标签ViewBag.Name/标签先生”或者将先生用html标签包起来都是可以的。 未预期的额外属性 如果想要输出一个c#的命名空间而输出的部分北荣要变成razor变量类别是System.Web.Mvc.Controller eg { ViewBag.MvcNameSpaceSystem.Web.Mvc; } 类别是ViewBag.MvcNameSpace.Controller 结果输出会引发错误string未包含controller的定义原因在于razor解析ViewBag.MvcNameSpace时把Controller这段当做是ViewBag.MvcNameSpace的一个Controller属性因此解析错误遇到这种情况解决办法也是加个小括号,eg: ViewBag.MvcNameSpace.Controller就会输出“System.Web.Mvc” 输出Email地址与跳脱子元 超链接a hrefaaabbbqq.comaaa/超链接a,也许有人会说在razor里是个关键字这里应该放两个符号其实不用razor会自动判断前后文只要的前面和后面都有文字的话预设这次就会停用razor语法解析 超链接a hrefaaabbbqq.comaaa/超链接a如果要将aaa的位置替换为变量 { ViewBag.BlogIDaaa; } 超链接a href(ViewBag.BlogID)bbbqq.comaaa/超链接a,也只要加个小括号就可以 输出未经htmlEncode的字串 预设使用razor语法输出变量所有内容预设都会被HTML编码为HtmlEncode这是为了保护网页不致遭受跨网站脚本攻击有了这个预设值能确保新手写出不安全代码 eg: { ViewBag.Description标签 stylefont-size:12px;描述文字/标签; } ViewBag.Description 最后输出的结果中会是htmlencode过的版本大于号小于号双引号都变成了加一些字母的形式解决办法就是利用Html.Raw辅助方法帮助我们输出内容 Html.RawViewBag.Description这样就会原封不动的输出我们想要的样子。转载于:https://www.cnblogs.com/jinhaoObject/p/4597670.html