asp.netmvcrazorextraspaceRazor在文本块之间插入额外空格。我想以这种方式呈现列表:“1,2,3”但得到“1,2,3”。@for(inti=1;i<3;i++){@iif(i!=2){,}}有没有办法删除这个额外的空间?您可以使用@Html.Raw。代码更具可读性,输出没有多余的空格@for(inti=1;i因为这仍然是MVC3RTM+工具更新中标签的问题,而且处理起来真的很头疼,eddiegroves删除了空格从代码格式另一种方法是避免使用标签。首先,这里重写了重现问题并实际打印“1,2,3”的原始代码:@for(inti=1;i,}}以下打印“1,2,3”而不是“1,2,3”,但使用@something代替以保留代码格式。解决方案#1:解决使用@("")@for(inti=1;i解决方案#2:使用@var@for(inti=1;i解决方案#3:使用@(expression)@for(inti=1;i解决方案#4:使用@helpers@helperItem(intindex){@index}@helperSeparator(intindex,intcount){if(index最后一个对于这个例子来说显然有点矫枉过正,但对于更复杂的项目和分隔符可能是一个有用的模式。我相信ASP.NET中存在问题不幸的是,RazorRC会将“代码上下文”中的空格作为文本空格写入响应。通过删除代码块中的空格来“修复”上面的示例:@for(inti=1;i@iif(i!=2){,}}或更简洁:@for(inti=1;i@iif(i!=2){,}}关注asp.net网站上的这篇帖子,里面有类似问题的讨论,AndrewNurse回复说这个bug已经记录下来,会考虑RTM。因此,如果这是同一个问题,希望它能修复列表。这个错误没有进入RTM我可能会为此编写一个自定义帮助程序:publicstaticMvcHtmlStringRenderNumbers(thisHtmlHelperhtmlHelper,intcount){vartext=string.Join(",",Enumerable.Range(1,计数).ToArray());返回MvcHtmlString.Create(文本);然后在我看来使用这个:@Html.RenderNumbers(3);以下任何一个都应该有效,这取决于你的值实际来自哪里:以上是C#学习教程:asp.netmvcrazor额外空间分享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注---@string.Join(",",myList)@string.Join(",",1,2,3)@string.Join(",",Enumerable.Range(1,3))本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
