【发布时间】:2012-08-15 18:12:12
【问题描述】:
原始文档存在here。
我已经转换了控制器动作:
Imports ActionMailer.Net.Mvc
Public Class EmailController
Inherits MailerBase
Public Function VerificationEmail(ByVal model As RegisterModel) As EmailResult
[To].Add(model.Email)
From = "me@my.org"
Subject = "Thanks for registering with us!"
Return Email("VerificationModel", model)
End Function
End Class
还有,观点(EmailVerification.html.vbhtml):
@modelType GemcoBlog.RegisterModel
@Code
Layout = Nothing
End code
Welcome to My Cool Site, @Model.UserName
We need you to verify your email. Click this nifty link to get verified!
@Html.ActionLink("Verify", "Account", New With {.code = Model.Email})
Thanks!
但是,如何将此 C# 代码转换为从我的 Register 方法调用函数到 VB?
new MailController().VerificationEmail(newUser).Deliver();
我在互联网上没有找到任何描述如何在 VB 中执行此操作的内容,所以这篇文章可能对那些寻找的人有所帮助。
附带说明:有人可以向我解释一下这个语法[To].Add(model.Email)吗?我以前没见过。谢谢。
【问题讨论】:
-
括号强制编译器将它们之间的文本识别为代码中的变量或类型名称,而不是 VB 关键字。在这种情况下,单词“To”是用于 for 循环的 VB 关键字(例如
For x = 1 To 10。因此,除非您使用括号对其进行转义,否则编译器会认为这是对To关键字的无效使用。 -
在 VB.NET 中它的语法是一样的,除了“;”最后(它只是简单的方法链接)。您的最后一个问题:这是因为
To不能是标识符(我相信这是一些保留字),并且通过在它周围添加括号([To]),您可以使用To作为标识符。
标签: c# asp.net-mvc vb.net asp.net-mvc-3