相关疑难解决方法(0)

HtmlString与MvcHtmlString

HtmlStringMvcHtmlString

两者之间有什么区别,或者何时优先选择另一个?

编辑:

有一点喜欢MvcHtmlStringHtmlString的是扩展方法IsNullOrEmptyMvcHtmlString.

.net-4.0 asp.net-mvc-3

108
推荐指数
2
解决办法
3万
查看次数

使用Razor的Html.RenderPartial()语法

这是有效的,因为它返回字符串中部分视图呈现的结果:

@Html.Partial("Path/to/my/partial/view")
Run Code Online (Sandbox Code Playgroud)

但我更喜欢使用RenderPartial,似乎我需要写:

@{Html.RenderPartial("Path/to/my/partial/view");}
Run Code Online (Sandbox Code Playgroud)

代替:

@Html.RenderPartial("Path/to/my/partial/view");
Run Code Online (Sandbox Code Playgroud)

让它工作.错误信息:

 Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法而不是@{...}只为一个方法调用打开代码块?

asp.net-mvc razor asp.net-mvc-3

92
推荐指数
3
解决办法
13万
查看次数

使用新的Razor View引擎,我的HtmlHelpers应该返回字符串还是IHtmlString?

使用Razor View Engine,只要您将字符串直接输出到页面,它就是HTML编码的.例如:

@"<p>Hello World</p>"
Run Code Online (Sandbox Code Playgroud)

实际上将输出到页面:

&lt;p&gt;Hello World &lt;/p&gt;
Run Code Online (Sandbox Code Playgroud)

哪个会在浏览器中显示为:

<p> Hello World </ p>

这里的问题是,在创建Html帮助程序时,到目前为止,使用旧的aspx视图引擎,我只返回一个字符串,并将其输出到浏览器:

<%= Html.MyCoolHelperMethod(); %>
Run Code Online (Sandbox Code Playgroud)

所以我的问题基本上就是这个.我这样做:

public static IHtmlString MyCoolHelperMethod(this HtmlHelper helper)
{
   return new helper.Raw("<p>Hello World</p>");
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可以在我的cshtml中执行此操作:

@Html.MyCoolHelperMethod();
Run Code Online (Sandbox Code Playgroud)

或者我这样做:

public static string MyCoolHelperMethod(this HtmlHelper helper)
{
   return "<p>Hello World</p>";
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我需要在我的cshtml中完成工作:

@Html.Raw(Html.MyCoolHelperMethod());
Run Code Online (Sandbox Code Playgroud)

显然,第一种方法使视图看起来更清晰,但我只是想知道普通模式是否实际上是帮助者返回IHtmlString并且我过去做错了.

c# asp.net-mvc html-encode razor

28
推荐指数
1
解决办法
9707
查看次数

ASP.NET(MVC2)中<%:%>做了什么?

最近一位同事检查了变更集,其中表单<%=(...)%>上的大量表达式被更改为<%:(...)%>.

我有一个模糊的回忆,听到了什么<%:做了,但不记得了.打电话给我的同事已经太晚了,Google和Bing似乎都无法搜索字符串"<%:".

有人可以开导我吗?

asp.net

6
推荐指数
2
解决办法
2278
查看次数

在ViewData ["msg"]中传递NewLine(或<Br />)

如何将一个Environment.NewLine(或一个< br />)内部ViewData["msg"] 渲染为一个真实<br />的视图内部?

我正在使用C#...

asp.net-mvc viewdata newline

1
推荐指数
1
解决办法
6335
查看次数