Asp.net mvc 3 MVC3-HTML帮助程序
我本来打算使用声明性HTML帮助程序,但后来发现它们还没有在MVC3版本中实现 我正在尝试让旧的HTML帮助程序使用以下代码:Asp.net mvc 3 MVC3-HTML帮助程序,asp.net-mvc-3,view,html-helper,Asp.net Mvc 3,View,Html Helper,我本来打算使用声明性HTML帮助程序,但后来发现它们还没有在MVC3版本中实现 我正在尝试让旧的HTML帮助程序使用以下代码: private static String GenerateSingleOptionHTML(Question q) { String ret = ""; for(int i = 0; i < 3; i++) { ret += String.Format("<li><input type=\"ra
private static String GenerateSingleOptionHTML(Question q)
{
String ret = "";
for(int i = 0; i < 3; i++)
{
ret += String.Format("<li><input type=\"radio\" id=\"Q" + i +"\" value=\"" + i + "\" name=\"Q" + i +"\" />" + q.Body + "</li>");
}
return ret;
}
私有静态字符串GenerateSingleOptionHTML(问题q)
{
字符串ret=“”;
对于(int i=0;i<3;i++)
{
ret+=String.Format(“”+q.Body+” ”);
}
返回ret;
}
忽略html和标记,因为它们工作正常。我的观点是:“谢谢您需要返回的实例。您的输出字符串正在被编码 在呈现期间,
MvcHtmlString
对象将被视为已经编码(我假设您使用的是
语法,而不是
将HTML注入页面)
您需要返回的实例。您的输出字符串正在被编码 在呈现期间,
MvcHtmlString
对象将被视为已经编码(我假设您使用的是
语法,而不是
将HTML注入页面)
David Neale是对的,但在ASP.NET MVC 3中,您实际上应该返回
HtmlString
的实例,而不是MVCHTMLSING
(尽管两者都可以工作):
private static HtmlString generatesingeleptionhtml(问题q)
{
字符串ret=“”;
对于(int i=0;i<3;i++)
{
ret+=String.Format(“”+q.Body+” ”);
}
返回新的HtmlString(ret);
}
David Neale是对的,但在ASP.NET MVC 3中,您实际上应该返回HtmlString
的实例,而不是MVCHTMLSING
(尽管两者都可以工作):
private static HtmlString generatesingeleptionhtml(问题q)
{
字符串ret=“”;
对于(int i=0;i<3;i++)
{
ret+=String.Format(“”+q.Body+” ”);
}
返回新的HtmlString(ret);
}
太好了,谢谢。我知道字符串的格式有问题,但要找到微软解决这个问题的方法总是很痛苦的。总之,我正在使用Razor的@notation将HTML注入到页面中。@vkip-在这种情况下,您不需要担心视图中的任何内容。Razor视图引擎默认情况下会跳过所有内容;实际上,您只需要在不希望转义的情况下采取行动(您可以使用@Html.Raw(此处为Html)
Razor默认情况下与:
等效。您可以使用@Html.Raw(myString)
也要解决这个问题。那太好了,谢谢。我知道字符串的格式有问题,但要找到Microsoft解决这个问题的方法总是很痛苦。总之,我正在使用Razor的@符号将HTML注入页面。@vkip-在这种情况下,您不必担心视图中的任何内容。Razor view en默认情况下,gine会转义所有内容;实际上,您只需要在希望不转义的内容时采取行动(您可以使用@Html.Raw(此处为Html_)
Razor默认情况下与:
等效。您可以使用@Html.Raw(myString)
来解决这个问题。啊,我没有意识到。ThanksHi,你确定吗?我有转换异常:错误1无法将类型“System.Web.HtmlString”隐式转换为“string”@vkip-抱歉,修复了代码示例:你实际上需要将HtmlString
设置为返回类型啊,我没有意识到。ThanksHi,你确定吗关于此?我有转换异常:错误1无法将类型“System.Web.HtmlString”隐式转换为“string”@vkip-抱歉,修复了代码示例:您实际上需要将HtmlString
设置为返回类型
return MvcHtmlString.Create(ret);
private static HtmlString GenerateSingleOptionHTML(Question q)
{
String ret = "";
for(int i = 0; i < 3; i++)
{
ret += String.Format("<li><input type=\"radio\" id=\"Q" + i
+"\" value=\"" + i + "\" name=\"Q" + i +"\" />" + q.Body + "</li>");
}
return new HtmlString(ret);
}