2011-06-02 38 views
2

我想在同一行使用多个html助手,但我没有成功。MVC Razor:如何在同一行中混合使用html助手和文本?

我搜索的结果是:Name:<textbox>(注意 “:”)

@Html.LabelFor(x=>x.Name) ":" @Html.EditorFor(x => x.Name) //doesn't work 

我怎样才能实现这一目标?

+2

定义'does not work';你会得到一个编译器异常,或只是不是预期的结果?该代码看起来非常有效。 – Tejs 2011-06-02 20:44:05

回答

6

使用@:语法。

@using (Html.BeginForm()) 
{ 
    @Html.LabelFor(x=>x.Name) @:: @Html.EditorFor(x => x.Name) 
} 

或者特殊标签text(此标记不呈现,它允许你把文本代码之间是这样)

@using (Html.BeginForm()) 
{ 
    @Html.LabelFor(x=>x.Name) <text>:</text> @Html.EditorFor(x => x.Name) 
} 
2

你不需要绕:

报价

Razor应该在关闭之后停止查找代码,因此您无需指定它是一个字符串。

@Html.LabelFor(x=>x.Name): @Html.EditorFor(x => x.Name) 
+0

':'被认为是一段代码,结果是无效的语法。 – BrunoLM 2011-06-02 20:55:38

+0

@BrunoLM,我只是试了一下,它对我来说工作得很好。 – Brandon 2011-06-02 20:56:36

相关问题