C# Razor中的string.Format与string.Format
我必须在视图中输出员工的姓名和部门,如欢迎“员工”加入“部门”。我正在使用string.Format()。 我在玩String.Format和String.Format()时看到了以下内容。有人能解释一下为什么string.Format()不起作用,或者我在代码中遗漏了什么吗?我在网上阅读,看到string.Format()和string.Format()给出了相同的结果 不起作用-C# Razor中的string.Format与string.Format,c#,asp.net-mvc-3,razor,C#,Asp.net Mvc 3,Razor,我必须在视图中输出员工的姓名和部门,如欢迎“员工”加入“部门”。我正在使用string.Format()。 我在玩String.Format和String.Format()时看到了以下内容。有人能解释一下为什么string.Format()不起作用,或者我在代码中遗漏了什么吗?我在网上阅读,看到string.Format()和string.Format()给出了相同的结果 不起作用- <div> <div> Welcome </div> <d
<div>
<div> Welcome </div>
<div>
@if(employee != null)
{
@string.Format("{0} at {1}", employee.name, emp.dept)
}
</div>
</div>
欢迎
@if(employee!=null)
{
@string.Format({1}{0}),employee.name,emp.dept)
}
错误-在“@”字符后出现意外的“字符串”关键字。一旦进入代码内部,就不需要在“string”之类的构造前面加“@”前缀
有效:
<div>
<div> Welcome </div>
<div>
@if(employee != null)
{
@(string.Format("{0} to {1}", employee.name, emp.dept))
}
</div>
</div>
欢迎
@if(employee!=null)
{
@(string.Format(“{0}到{1}”,employee.name,emp.dept))
}
有效
<div>
<div> Welcome </div>
<div>
@if(employee != null)
{
@String.Format("{0} at {1}", employee.name, emp.dept)
}
</div>
</div>
欢迎
@if(employee!=null)
{
@String.Format({1}{0}),employee.name,emp.dept)
}
该消息是不言自明的。只需删除已在代码块中的@
就可以了,因此它只是字符串。格式(…)
这是一个已知的错误。请看这里:至于原因-Razor将string
识别为关键字,但不是string
@Steve-关闭为两篇文章的重复“C#中@
的含义”和“@string.Format在Razor中不起作用”。并不是说“MVC4剃须刀中可能出现的突破性变化…”可能是更好的复制品,但是在C#的上下文中,@string
/@string
对应地引用了名为string
/string
的变量-因此导致了非常奇怪的行为。@StephenMuecke-我不会说消息是自解释的-正确的错误(事实上是自解释的)是正确的“名称‘string’在当前上下文中不存在”(这类代码的常规C#错误),这是C#/Razor语法的混合,并且有几个类似的奇怪情况。消息是不言自明的。只需删除代码块中已经存在的@
,这样它就是string.Format(…)
这是一个已知的bug。请看这里:至于原因-Razor将字符串
识别为关键字,但不是字符串
@Steve-关闭以复制两篇文章“C#中@
的含义”和“@string.Format在Razor中不起作用”。而不是“MVC4 Razor中可能出现的破坏性更改…”。。。“可能是更好的复制,但在C#的上下文中,@string
/@string
;如本文所示,相应地引用名为string
/string
的变量-从而导致非常奇怪的行为。@StephenMuecke-我不会说该消息是自解释的-更正错误。”(事实上,这是不言自明的)可能是“名称‘string’在当前上下文中不存在”(这类代码的常规C#错误),这是C#/Razor语法的混合,并且有一些类似的奇怪情况。