【发布时间】:2010-05-09 00:05:49
【问题描述】:
我有这个 C# 中的示例 ASP.NET MVC 2.0 视图,绑定到具有名字、姓氏和电子邮件的强类型模型:
<div>
First: <%= Html.TextBoxFor(i => i.FirstName) %>
<%= Html.ValidationMessageFor(i => i.FirstName, "*") %>
</div>
<div>
Last: <%= Html.TextBoxFor(i => i.LastName) %>
<%= Html.ValidationMessageFor(i => i.LastName, "*")%>
</div>
<div>
Email: <%= Html.TextBoxFor(i => i.Email) %>
<%= Html.ValidationMessageFor(i => i.Email, "*")%>
</div>
我将其转换为 VB.NET,在 VB.NET 10 中看到了适当的结构,如下所示:
<div>
First: <%= Html.TextBoxFor(Function(i) i.FirstName) %>
<%= Html.ValidationMessageFor(Function(i) i.FirstName, "*") %>
</div>
<div>
Last: <%= Html.TextBoxFor(Function(i) i.LastName)%>
<%= Html.ValidationMessageFor(Function(i) i.LastName, "*")%>
</div>
<div>
Email: <%= Html.TextBoxFor(Function(i) i.Email)%>
<%= Html.ValidationMessageFor(Function(i) i.Email, "*")%>
</div>
运气不好。这是正确的,如果不是,我需要使用什么语法?同样,我使用的是 ASP.NET MVC 2.0,这是一个绑定到强类型模型的视图...... MVC 2 仍然不支持 .NET 2010 中的新语言结构吗?
这是一个 VB.NET 项目,我用这个头文件正确地引用了 VB:
" %>这里是Model类的定义;默认项目命名空间是 MvcSample.VB:
Namespace Models.Validation
Public Class ValidationSampleTestClass
<Required(ErrorMessage:="First name required.")> _
Public Property FirstName() As String
Get
Return m_FirstName
End Get
Set(ByVal value As String)
m_FirstName = value
End Set
End Property
Private m_FirstName As String
.
.
.
End Class
End Namespace
谢谢。
【问题讨论】:
-
什么不起作用?运气不好并不能很好地描述您遇到的实际问题。
-
我收到错误消息;当我没有指定 As Type 时,它会给我一个错误,它找不到该属性;当我删除 As Type 时,它说它需要对象...我定义了一个 @Imports 来引用对象的命名空间,因此该对象应该可以在视图中访问...我得到波浪线表示错误,当我运行时,它说动态编译的类在继承语句中有错误(缺少 _ 或其他东西,我不明白)......你让 Html.TextBoxFor 和 ValidationMessageFor 在 VB 中工作吗?你让它在 VB 中工作吗?
标签: asp.net asp.net-mvc asp.net-mvc-2 views inline-functions