Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
.NET 3.x

Или PageMethods или AJAX или еще что?

06.07.2011, 16:41. Показов 2796. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть на странице FileUpoader и кнопочка "Обновить аватарку". То есть я клацаю на Обзор... выбираю файл и потом нажимаю на кнопочку, чтобы увидеть изменения. Так вот я хочу, чтобы изменения были видны сразу после того как я выбрал файл с аватаркой, то есть после нажатия на Обзор...
Фактически после клацания на Обзор... должен выполниться код C#
Я нашел событие onchange контрола FileUpoader, теперь я хочу как-то через JavaScript вызвать код C#, который обновит аватарку. Тут можно использовать AJAX, или PageMethods - что лучше?
И, если есть пример хоть акой-то - то тоже не помешает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.07.2011, 16:41
Ответы с готовыми решениями:

Как вывести на странице сайта новостей или статей или еще чего в строго отведенный элемент (блок)
Ребят, с статическими веб технологиями я знаком достаточно прочно и общаюсь с ними уже практически на Ты. 9 месяцев назад, для меня...

ISAPI, COM, COM+ или еще что?
Вопрос к знатокам по общим вопросам :) Необходимо организовать ресурс (программный) осуществляющий некторый функционал (в моем случае это...

DataGrid на Panele (или еще где-то там)
Хотелось бы сделать Web-application (C#) по внешнему виду напоминающее верхнюю половину Outlok. Надо поместить бесконечно длинный DataGrid...

4
19 / 19 / 3
Регистрация: 05.07.2011
Сообщений: 41
06.07.2011, 18:01
ajaxupload.js
+
jquery

HTML5
1
<button id="btFile">Обзор...</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$("#btFile").ready(function () {
        new AjaxUpload('btFile', {
            action: '/controller/action', 
            name: 'file',
            onSubmit: function (file, response) {
                $("#btFile").html("Загрузка...");
                $("#btFile").attr("disabled", "disabled");
            },
            onComplete: function (file, response) {
                $("#btFile").html("Загрузить файл");
                $("#btFile").removeAttr("disabled");
                if (response == "False")
                    alert("Файл не сохранен, попробуйте еще раз");
                else
                    $("#myAvatar").attr("src", "/images/" + file);
            }
        });
});
и Controller
C#
1
2
3
4
5
6
7
8
9
10
11
12
        [AcceptVerbs(HttpVerbs.Post)]
        public bool AttachFile() {
            if (Request.Files.Count != 0 && Request.Files["file"] != null) {
                if (Request.Files["file"].ContentLength <= myMaxLength) {
                    ...
                    Сохраняем файл куда надо
                    ...
                    return true;
                }
            }
            return false;
        }
1
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
06.07.2011, 18:11  [ТС]
У меня ситуация примерно такая:
C#
1
<asp:FileUpload ID="Upload_avatarka" runat="server" width="100%" onchange="Тут надо вызвать метод C# который обновит картинку" />
В Вашем примере используется button, как я понял.
Кнопку Обзор я имел в виду в составе FileUpload контрола. Это не совсем кнопка, это какой-то дочерний элемент управления FileUpload - а. Когда выбираешь новый файл, то срабатывает событие onchange. Его надо подвязать на код C#, который выведет изображение на страницу. Пытаюсь адаптировать Ваш пример. И у меня ругается на AcceptVerbs. Какой мне подключить namespace? Этот код написан под ASP.NET MVC. А мен желательно под ASP.NET.
0
19 / 19 / 3
Регистрация: 05.07.2011
Сообщений: 41
06.07.2011, 18:29
это MVC пример, вот серверная реализация в вашем случае

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public partial class _Default : Page 
{
  [WebMethod]
  public static bool AttachFile()
  {
            if (Request.Files.Count != 0 && Request.Files["file"] != null) {
                if (Request.Files["file"].ContentLength <= myMaxLength) {
                    ...
                    Сохраняем файл куда надо
                    ...
                    return true;
                }
            }
            return false;
  }
}
и в скрипте
action: '_Default.aspx/AttachFile',

тут с путями попробуйте, и в дебагере смотрите
1
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
06.07.2011, 20:37  [ТС]
написал по-простому:
C#
1
2
3
4
5
6
7
8
9
namespace WebApplication
{
    public partial class RegistrationForm : Page
    {
        [WebMethod]
        public bool AttachFile() {
            return true;
        }
...
потом
C#
1
<asp:FileUpload ID="Upload_avatarka" runat="server" width="100%" onchange="RegistrationForm.aspx/AttachFile" />
Событие onchange - происходит, а вызов после этого AttachFile - нет.

Добавлено через 1 час 58 минут
Сколько я в дебагере не смотрел - не вызывается ничего. Я щас придумал такой способ: Я поместил на страницу кнопку и вызываю по ней клик из JavaScript, а сама кнопка имеет visible=false. Эта кнопка загрузает аватарку на страницу. По это какой-то корявый способ. Приведите кто-нибудь пример простейший с использованием AJAX. Я никак не разберусь. ПРосто раньше с AJAX не работал вообще((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2011, 20:37
Помогаю со студенческими работами здесь

AJAX или IFrame + печать
Оказался перед выбором вот в какой ситуации: Имеется Веб-приложение. К примеру, в результате запроса к БД, у меня есть список фамилий, ну...

Как записать путь к папке, или файлу в базу используя FileUpLoad или другой элемент
как записать путь к папке, или файлу в базу используя FileUpLoad или другой элемент я использую Ссылка =...

Как запускать asp-страницу по таймеру ? (в назначенных заданиях или еще где)
Надо, чтобы asp-страница выполнялась через опред. интервалы времени. Как и чем это можно реализовать ? С уважением, Сергей.

Имя типа или пространство имён sess отсутствуют в классе или в пространстве имён user
Привет Написана страничка User в ней: namespace user { public class user :System.tralala { public string sess(string par) ...

Определить, где сохранены папка или файл: на сервере с SharePoint или на обычном файловом сервере
Здравствуйте, есть приложение написанное на C#, где пользователи сохраняют свои данные где хотят. В сети есть несколько серверов и на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru