首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的MVC2页面HtmlEncoding只在链接标记内时才是html助手?

为什么我的MVC2页面HtmlEncoding只在链接标记内时才是html助手?
EN

Stack Overflow用户
提问于 2012-03-30 20:03:51
回答 1查看 95关注 0票数 0

我有一个非常奇怪的问题。我写了一个HtmlHelper..。

代码语言:javascript
运行
复制
public static class MaterResourceLocationHelper
    {
        public static HtmlString GetMasterLocation(this HtmlHelper htmlHelper)
        {
            return new 
                HtmlString(ConfigurationManager
                               .AppSettings["MasterResourceLocation"]);
        }
    }

当我将以下内容放在MVC2视图上时...

代码语言:javascript
运行
复制
<%= Html.GetMasterLocation() %>

在我得到的视图源代码中...

代码语言:javascript
运行
复制
http://localhost/esd.myapp.com/

但是,只要我尝试在这样的上下文中使用它...

代码语言:javascript
运行
复制
<link href='<%= Html.GetMasterLocation() %> 
               /Css/jquery-ui-1.8.2.custom.css' 
      rel="stylesheet" type="text/css" />

我在视图源码中得到了这个...

代码语言:javascript
运行
复制
<link 
    href="../../Views/Shared/%3C%25=%20Html.GetMasterLocation()%20%25%3E%20/Css/jquery-ui-1.8.2.custom.css" 
    rel="stylesheet" type="text/css" />

我真的很困惑为什么会发生这种情况?

EN

Stack Overflow用户

发布于 2012-03-30 21:49:26

ASP视图引擎有一些有趣的规则,这些标签何时被计算,何时不被计算。试试这个:

代码语言:javascript
运行
复制
<link href='<%= Html.GetMasterLocation() + "/Css/jquery-ui-1.8.2.custom.css"%>' 
  rel="stylesheet" type="text/css" />

似乎只有当<%= %>标记表示整个HTML属性时,才会对其进行计算。否则,引擎只是从字面上处理它。您在这里看到的不是结果的HTML编码,而是引号之间的文字值的URL编码。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9942564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档