Jam*_*ine 4 vb.net asp.net asp.net-mvc
我正在使用ASP.NET MVC 5和Visual Studio Express 2013.我在C#项目中有这个小表单:
<body>
@using (Html.BeginForm())
{
<p>Your name: @Html.TextBoxFor(x => x.Name) </p>
<p>Your email: @Html.TextBoxFor(x => x.Email) </p>
<p>Your phone: @Html.TextBoxFor(x => x.Phone) </p>
}
</body>
Run Code Online (Sandbox Code Playgroud)
我试图将上面的代码翻译成VB.NET,如下所示:
<body>
@Using Html.BeginForm()
<p>Your name: @Html.TextBoxFor(Function(m), m.Name)</p>
<p>Your email: @Html.TextBoxFor(Function(m), m.Email)</p>
<p>Your phone: @Html.TextBoxFor(Function(m), m.phone)</p>
End Using
</body>
Run Code Online (Sandbox Code Playgroud)
我在每个"P"元素的"你的"下面都有蓝线.当我将鼠标悬停在蓝线上时的提示帮助是'属性说明符不是一个完整的语句.使用行继续将属性应用于以下语句.'.
当我调试页面时,错误是"BC30201:预期的表达式".在@Using发生的行上.
我究竟做错了什么?
正如@rogerdeuce推测的那样,你不需要第二个@符号.
@ 用于将上下文从VB代码切换到HTML /文本.
所以正确的代码看起来像:
<body>
@Using Html.BeginForm()
@<p>Your name: @Html.TextBoxFor(Function(m) m.Name)</p>
@<p>Your email: @Html.TextBoxFor(Function(m) m.Email)</p>
@<p>Your phone: @Html.TextBoxFor(Function(m) m.phone)</p>
End Using
</body>
Run Code Online (Sandbox Code Playgroud)
或者您可以使用@<text>快捷方式:
<body>
@Using Html.BeginForm()
@<text>
<p>Your name: @Html.TextBoxFor(Function(m) m.Name)</p>
<p>Your email: @Html.TextBoxFor(Function(m) m.Email)</p>
<p>Your phone: @Html.TextBoxFor(Function(m) m.phone)</p>
</text>
End Using
</body>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |