Борьба с .net Lambdas VB

Если вам разрешено идти дальше, тогда используйте javascript / html - я бы использовал веб-сервер apache для представления списка ваших каталогов через http.

Если это решение подходит. эти шаги:

  1. загрузить сервер Apache hhtp с одного из зеркал http://httpd.apache.org/download.cgi

  2. распаковать / установить (если msi) его в каталог, например C: \ opt \ Apache (инструкция для windows)

  3. отобразить сеть forlder как локальный диск в windows (\ server \ folder, скажем, диск H:)

  4. откройте файл conf / httpd.conf

  5. убедитесь, что следующая строка присутствует и не прокомментирована

    LoadModule autoindex_module modules / mod_autoindex.so

  6. Добавить конфигурацию каталога

Options +Indexes

AllowOverride None

Order allow,deny

Allow from all

7. Запустите Интернет сервер и убедитесь, что каталог удаленной папки доступен по http. нажмите localhost / path 8. используйте фрейм внутри вашей веб-страницы для доступа к списку

Чего не хватает: 1. Вам необходимо выполнить более сложную настройку имени хоста, обратитесь к Apache Web Документы на сервер. Зарегистрируйте имя хоста на DNS-сервере

  1. , отображение на сетевой диск может не работать, я не проверял. В качестве возможного решения - разместите ваш веб-сервер на том же компьютере, что и сервер smb.

5
задан ilivewithian 10 June 2009 в 08:11
поделиться

3 ответа

Однострочные лямбда-выражения в vb.net ВСЕГДА являются выражениями; то, что делает ваше лямбда-выражение, в основном означает, что databoundCalled = True или ( databoundCalled == True), если у вашего парня с C # не установлен databoundCalled = True

3
ответ дан 13 December 2019 в 19:33
поделиться

Просмотрев ваш код и почесав затылок, я нашел решение, которое работает. Я не понимаю, почему это работает с тем, что у вас есть. Может быть, это хотя бы поможет вам в правильном направлении. Ключевое отличие в том, что у меня есть метод, который устанавливает значение true / false. В остальном все то же.

Вот весь код моего веб-проекта:

Partial Public Class _Default
    Inherits System.Web.UI.Page

    Dim databoundCalled As Boolean = False
    Dim dropdownlist As New DropDownList()

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write(databoundCalled)
        Bind()
        Response.Write(databoundCalled)

    End Sub

    Sub Bind()
        AddHandler dropdownlist.DataBound, Function(o, e) (SetValue(True))

        dropdownlist.DataSource = New String() {"one", "two"}
        dropdownlist.DataBind()
    End Sub

    Function SetValue(ByVal value As Boolean) As Boolean
        databoundCalled = value
        Return value
    End Function
End Class

Надеюсь, это поможет!

7
ответ дан 13 December 2019 в 19:33
поделиться

Проблема в том, как интерпретируются лямбды. В VS2008 лямбда-выражение функции всегда интерпретируется как выражение, а не как инструкция. В качестве примера возьмем следующий блок кода

Dim x = 42
Dim del = Function() x = 32
del()

. В этом случае код внутри лямбда-выражения del не выполняет присваивание. Вместо этого выполняется сравнение между переменной x и значением 32. Причина в том, что VB не имеет понятия выражения, которое является присваиванием, только оператор может быть присваиванием в VB.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

В VS2008 лямбда-выражение функции всегда интерпретируется как выражение, а не как инструкция. В качестве примера возьмем следующий блок кода

Dim x = 42
Dim del = Function() x = 32
del()

. В этом случае код внутри лямбда-выражения del не выполняет присваивание. Вместо этого выполняется сравнение между переменной x и значением 32. Причина в том, что VB не имеет понятия выражения, которое является присваиванием, только оператор может быть присваиванием в VB.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

В VS2008 лямбда-выражение функции всегда интерпретируется как выражение, а не как инструкция. В качестве примера возьмем следующий блок кода

Dim x = 42
Dim del = Function() x = 32
del()

. В этом случае код внутри лямбда-выражения del не выполняет присваивание. Вместо этого выполняется сравнение между переменной x и значением 32. Причина в том, что VB не имеет понятия выражения, которое является присваиванием, только оператор может быть присваиванием в VB.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

код внутри лямбда-del не выполняет присваивание. Вместо этого выполняется сравнение между переменной x и значением 32. Причина в том, что VB не имеет понятия выражения, которое является присваиванием, только оператор может быть присваиванием в VB.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

код внутри лямбда-del не выполняет присваивание. Вместо этого выполняется сравнение между переменной x и значением 32. Причина в том, что VB не имеет понятия выражения, которое является присваиванием, только оператор может быть присваиванием в VB.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

Для выполнения присваивания в лямбда-выражении у вас должны быть возможности оператора. Это не будет доступно до VS2010, но когда это произойдет, вы можете сделать следующее

Dim del = Function()
           x = 32
          End Function

По сути, все, что не является однострочным лямбда-выражением, интерпретируется как оператор.

1
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: