Как Вы изменяете использование каталогов FtpWebRequest (.NET)?

Как вы сказали нам сейчас, формы Form1 и Form2 находятся в подчиненных элементах управления страницами управления регистрами.

Таким образом, вы не можете ссылаться на них Forms("Form2"), потому что они не являются «самостоятельными» формами.

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

Поэтому я предлагаю вам присвоить этим элементам управления подчиненной формы то же имя, что и содержащей странице, но добавить статический суффикс, например SubFormControl (или любой другой суффикс, который вам нравится).

Так, например, элемент управления подчиненной формы, который находится на странице pgeVerbMassnahmen, должен называться pgeVerbMassnahmenSubFormControl.

Затем вы можете ссылаться на элементы управления подчиненной формы по имени страницы и статическому суффиксу.

Так что я думаю, что это то, что вам нужно:

Объявите переменную формы в Form_GUI (если вы просто ссылаетесь на переменную из кода внутри Form_GUI, она может быть закрытой): [ 1122]

Private p_FrmZuordnung As Form

Я ожидаю, что p_ErmittleFrmZuordnung также находится в форме Form_GUI, поэтому вы можете использовать Me для ссылки на Form_GUI:

Private Sub p_ErmittleFrmZuordnung()
    Const SUFFIX As String = "SubFormControl"

    Dim currentPagename As String
    currentPagename = Me("RegisterStr1").Pages(Me("RegisterStr1").Value).Name

    Select Case currentPagename
        Case "pgeVerbMassnahmen"
            Set p_FrmZuordnung = Me(currentPagename & SUFFIX).Form
        Case "pgeKVPMassnahmen"
            Set p_FrmZuordnung = Me(currentPagename & SUFFIX).Form
        Case Else
            p_FrmZuordnung = Nothing
    End Select
End Sub

Редактировать:

]

Если все страницы содержат элемент управления подчиненной формы, его можно сократить:

Private Sub p_ErmittleFrmZuordnung()
    Const SUFFIX As String = "SubFormControl"

    Set p_FrmZuordnung = Me(Me("RegisterStr1").Pages(Me("RegisterStr1").Value).Name & SUFFIX).Form
End Sub
8
задан Giovanni Galbo 1 December 2008 в 07:14
поделиться

1 ответ

Существует сообщение в блоге от Mariya Atanasova, которая показывает, как можно фальсифицировать его - в основном необходимо поместить каталог на URL.

Я подозреваю, что можно быть более обеспечены со специализированной библиотекой FTP, хотя - тот, который не пытается вызвать все в WebRequest способ сделать вещи. Я лично не пользовался никакими сторонними библиотеками для этого, но поиск "библиотеки FTP.NET" находит много кандидатов.


Править: jcolebrand (в случае блога 2006 года linkrot возможность)

Многие клиенты спрашивают нас, как они могут использовать команду CWD с нашим FtpWebRequest.

Ответ: Вы не можете использовать команду непосредственно, но можно изменить параметр uri для достижения того же результата.

Скажем, Вы используете следующий формат:

String uri = "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl";
FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(uri);
Request.Method = "LIST";

Вышеупомянутый пример принесет Вам к каталогу Вашего пользователя и перечислит все содержание там. Теперь скажем, Вы хотите пойти 2 каталога назад и перечислить содержание там (если у Вашего пользователя есть полномочия сделать это). Вы закрываете предыдущий FtpWebRequest и выпускаете новый с этим uri

uri = "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/%2E%2E/%2E%2E";

Это эквивалентно входу в систему с учетными данными Вашего пользователя и затем использованию cd ../../

Примечание: при попытке использовать ”..” непосредственно не выходя из них класс uri разделит их, таким образом, "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/../.." эквивалентно "ftp://myFtpUserName:myFtpUserPassword@myFtpUrl/"

Теперь скажем, Вы хотите перейти к каталогу другого пользователя, который является одним уровнем выше корня. Если Вы не указываете имя пользователя и пароль, это эквивалентно входу в систему как анонимный пользователь. Затем Вы выпускаете новое FtpWebRequest со следующим uri

"ftp://myFtpUrl/%2F/anotherUserDir"

Это эквивалентно входу в систему как анонимный и затем делающий

Cd /
cd anotherUserDirectory
13
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

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