我正在尝试将C#Razor转换为VB Razor 遇到以下问题
当我改变
(Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
@Html.LabelFor(m => m.UserName)
@Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
要
(Html.BeginForm(new With { .ReturnUrl = ViewBag.ReturnUrl }))
@Html.LabelFor(m => m.UserName)
@Html.LabelFor(m => m.RememberMe, new With { .class = "checkbox" })
我收到错误
“由于其保护级别”,“未声明可能无法访问”
还请解释这个新的C#语法
Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })
及其在VB中的等价物
答案 0 :(得分:2)
@Html.LabelFor(m => m.UserName)
应该是
@Html.LabelFor(Function(m) m.UserName)
请参阅:How to: Create a Lambda Expression (Visual Basic)
@Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })
分别
@Html.BeginForm(new With { .ReturnUrl = ViewBag.ReturnUrl }
创建一个匿名类型。请参阅:Anonymous Types (Visual Basic)
答案 1 :(得分:0)
也许这个
@Html.BeginForm(New With { _
Key .ReturnUrl = ViewBag.ReturnUrl _
})
@Html.LabelFor(Function(m) m.UserName)
@Html.LabelFor(Function(m) m.RememberMe, New With { _
Key .[class] = "checkbox" _
})
如果您引用new { ReturnUrl = ViewBag.ReturnUrl }
,则只需anonyimous类型。