【问题标题】:How to use [Bind(Exclude="fieldName") in Visual Basic?如何在 Visual Basic 中使用 [Bind(Exclude="fieldName")?
【发布时间】:2016-01-06 19:10:46
【问题描述】:

我正在尝试在 Visual Basic 中学习 ASP.NET MVC 4,因为我们的 VB WebForms 项目中有一个 MVC 部分。但是网上所有的教程都是用 C# 编写的。将 C# 代码转换为 VB 真的是在考验我对 VB 的了解(我的 C# 技能还很初级)。我终于在 C# 中的这行代码中卡住了:

public ActionResult Create([Bind(Exclude="CurrentPrice")] Models.Auction.auction)

我不知道如何在 Visual Basic 中将 [Bind] 注释添加到同一行:

Function Create(ByVal auction As MvcAuction.Auction) As ActionResult

我试过了:

<Bind(Exclude="CurrentPrice")> _
Function Create(ByVal auction as MvcAuction.Auction) As ActionResult

产生此错误:属性“BindAttribute”无法应用于“创建”,因为该属性在此声明类型上无效。

我也试过这个:

Function Create(ByVal <Bind(Exclude = "CurrentPrice")> auction As MvcAuction.Auction) As ActionResult

还有这个

Function Create(ByVal auction As <Bind(Exclude = "CurrentPrice")> MvcAuction.Auction) As ActionResult

在这两种情况下,我都会收到“预期标识符”错误。

有人知道正确的 VB 语法吗?

更一般地说,我无法在 MSDN 上找到任何关于 MVC 中 VB 语法的好的文档。有谁知道我在哪里可以找到使用 VB 和 MVC 的好文档?

【问题讨论】:

  • 你可以试试:Function Create(&lt;Bind(Exclude:="CurrentPrice")&gt; test_auction As Models.Auction) As ActionResult
  • 有效的代码是:Function Create( ByVal test_auction As MvcAuction.Auction) As ActionResult。谢谢你。你有没有找到任何好的 MVC VB 文档?

标签: vb.net asp.net-mvc-4 data-annotations model-binding


【解决方案1】:

我发现了一个类似的问题here

看起来你需要做的是:

Public Function Create(<Bind(Exclude := "CurrentPrice")> ByVal auction As MvcAuction.Auction) As ActionResult

确保将绑定放在“ByVal”之前,并使用“:=”而不是“=”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多