2015-04-29 2 views
-2

Я пытаюсь создать свой первый ящик Диалог файла с помощью C# и MS Web Developer 2010. Я получил System.Windows.Forms ссылку настройки (на вкладке .NET, один на COM вкладка дал мне ошибку) и импортировал пространство имен ОК. Я нашел несколько очень полезных новичков для этого, и у меня есть код ниже.OpenFileDialog виснет, Ждут Localhost

Моя проблема заключается в том, что, когда я призываю его с помощью кнопки, мой браузер дает мне «Ожидание» LOCALHOST сообщения навсегда, и ничего не происходит. (Я минимизировал все окна, чтобы убедиться, что мое диалоговое окно не скрывается за чем-то другим.) На форумах есть несколько сообщений, в том числе здесь, на StackOverflow (WinFors GUI Hangs When Calling OpenFileDialog.ShowDialog), которые обсуждают эту проблему, но я не могу найти решение.

Много форумов обсуждают решение, которые вовлекают делает мои .NET процессы работают на разных потоках. Может быть, Microsoft на самом деле ожидает, что я пойму, как это использовать этот простой контроль?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Windows.Forms; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    public void OpenDialog(object sender, EventArgs e) 
    { 
     String MyFile = string.Empty; 
     String input = string.Empty; 
     OpenFileDialog dialog = new OpenFileDialog(); 
     dialog.ShowHelp = true; 
     dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; 
     dialog.InitialDirectory = "D:"; 
     dialog.Title = "This is a test dialog"; 
     dialog.ShowDialog(); 
    } 
} 

EDIT (от комментариев)

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

+3

Вы уверены, что хотите, чтобы веб-приложение открывало контроль окон на веб-сервере? Что касается вашего вопроса, используете ли вы сервер разработки VS или IIS Express? Вы можете проверить свойства проекта, а IIS следует установить отдельно. – nrodic

+0

- это веб-приложение, размещенное на сервере? –

+0

Извините за задержку и спасибо за ответ - работает VS-сервер разработки. – Stanton

ответ

4

Вы не можете использовать как Windows, и веб-управления вместе. OpenFileDialog хорошо работает, когда ваше приложение находится на localhost. После того, как вы опубликовали код на сервере и попытаетесь запустить приложение от клиента, FileDialog не будет открыт в клиенте.

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

+0

Спасибо за ваш ответ. То, что я пытаюсь сделать, - разрешить моему пользователю сохранять файл, созданный на сайте, в папку по его выбору. FileUpload был бы простым способом для моего пользователя выбрать местоположение, затем я мог бы получить его из элемента управления и позволить остальной части моего кода выполнять фактическую работу. Я обнаружил некоторые ограничения в SaveAs, которые я не думал, что могу преодолеть, но я думаю, что это единственный выбор, который у меня есть. – Stanton

Смежные вопросы