【问题标题】:ViewBag Mvc4 ErrorViewBag Mvc4 错误
【发布时间】:2014-05-27 02:11:03
【问题描述】:

我是 MVC4 vb.net 的新手。我在运行程序时遇到了这个错误。

“MissingMemberException 未被用户代码处理。

重载解析失败,因为没有可访问的 'Chars' 接受此数量的参数。"

特此显示我的代码:

HelloWorldController.vb

    Public Function Welcome(name As String, Optional numTimes As Integer = 1) As ActionResult
        ViewBag.Message = "Hello" & name
        ViewBag.NumTimes = numTimes

        Return View()
    End Function

Welcome.aspx

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  <%ViewBag.Title = "Welcome"%>

  <h2>Welcome</h2>
  <ul>
     <%For i = 0 To ViewBag.NumTimes-1%>
        <li> <%ViewBag.Message()%> </li> //error 
  <%Next i%>
  </ul>

</asp:Content>

请向我解释为什么会发生这种情况。提前致谢。

【问题讨论】:

    标签: vb.net asp.net-mvc-4 webforms viewbag


    【解决方案1】:

    问题是&lt;%ViewBag.Message()%&gt;

    将其更改为&lt;%= ViewBag.Message %&gt;

    【讨论】:

    • 非常感谢。哈哈。犯这个小错误有点尴尬。也许我需要一些时间来熟悉语法。再次感谢
    【解决方案2】:

    我不知道Chars 来自哪里,但它应该是ViewBag.Message 而不是ViewBag.Message(),因为它是一个属性,而不是一个函数。

    【讨论】:

    • Chars 是 VB.NET 中 String 的“默认属性”,ViewBag.MessageString 实例。 () 是 VB 的索引操作符(除了方法调用操作符),但没有指定参数,因此抱怨。但是,这会起作用:&lt;%= ViewBag.Message(0) %&gt;(它将打印字符串中的第一个字符)。这也是我不喜欢 VB 的原因 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多