将web方法从c#转换为vb.net

时间:2012-01-12 14:05:09

标签: asp.net vb.net

我使用C#进行了下面的Web方法。我正在尝试将其转换为VB.NET,但我遗漏了一些东西。我正在使用ajax调用,来自paginator / sorter表插件。

[WebMethod( EnableSession = true )]
public static object listaPessoas(int jtStartIndex = 0, 
                                  int jtPageSize = 0, 
                                  string jtSorting = null)
{
    return new { Result = "OK", 
                 Records = persons.ToList(), 
                 TotalRecordCount = persons.count };
}

首先,VB中的错误 - 我不能将参数保留为可选(“属性WebMethod不能应用于带有可选参数的方法”):

<WebMethod()> _
Public Function listaPessoas(Optional ByVal jtStartIndex As Integer = 0, 
                             Optional ByVal jtPageSize As Integer = 0, 
                             Optional ByVal jtSorting As String = Nothing)

其次,我不知道如何返回消息“OK”和人员列表。

我可以帮助将其转换为VB.NET吗?

1 个答案:

答案 0 :(得分:1)

好像你不能在WebMethods中使用可选参数。您可以使用重载。例如:

<WebMethod()> _
Public Function listaPessoas(jtStartIndex As Integer, jtPageSize As Integer)

<WebMethod()> _
Public Function listaPessoas(jtStartIndex As Integer, jtPageSize As Integer, jtSorting As String)

返回的C#对象是一个匿名对象。 VB语法是:

Return New With { .Result = "OK", 
                  .Records = persons.ToList(), 
                  .TotalRecordCount = persons.count }