Средства управления, не сохраняющие значения после обратной передачи, когда FormView устанавливают на режим вставки

Этот код работает для меня: оба преобразования взяты из wasabeef lib

 SketchFilterTransformation transformation  = new SketchFilterTransformation(this);

 BlurTransformation transformation1 = new BlurTransformation(this);

 Picasso.get()
        .load(mImageUri)
        .transform(transformation)
        .transform(transformation1)
        .rotate(decodeRotation(orientation))
        .into((ImageView) findViewById(R.id.image));

URI - это данные средства выбора файлов.

У меня есть это в моем билде сборки:

 implementation 'com.squareup.picasso:picasso:2.71828'
 implementation 'jp.wasabeef:picasso-transformations:2.2.1'
 // If you want to use the GPU Filters
 implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
6
задан joshb 15 April 2009 в 21:33
поделиться

5 ответов

Попробуйте

MyFormView.EnableViewState = true;
0
ответ дан 17 December 2019 в 22:14
поделиться

попытаться изменить режим при инициализации страницы или событиях Prerender

-1
ответ дан 17 December 2019 в 22:14
поделиться

ViewState загружается до PageLoad, и я предполагаю, что при изменении Режим на PageLoad воссоздает другой набор элементов управления, которые находятся в вашем EditItemTemplate. Если он установлен по умолчанию в режим редактирования и вы раскомментируете эту строку в PageLoad, будет ли он поддерживать значения? Это следует делать, если вы не переключаете режим.

0
ответ дан 17 December 2019 в 22:14
поделиться

FormView.ChangeMode (FormViewMode.Insert)

Это должно сработать, проверить идентификаторы и использовать Intelisense?

мой пример - с представлением формы добавления элемента ..

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    AddNewItemFormView.ChangeMode(FormViewMode.Insert)
End Sub

Попробуйте сделать это при загрузке страницы без "if..then's", если это сработает, вы узнаете, что это не так Не забудьте сделать идентификаторы элементов управления значимыми, чтобы было проще и с меньшей вероятностью совершать ошибки, когда вам нужно их использовать или вызывать через Intelisense.

Удачи.

:)

0
ответ дан 17 December 2019 в 22:14
поделиться

Этот ответ с другого форума от Walter Wang [MSFT] - 26 Jan 2007 03:29 GMT

Во-первых, проблема, похоже, в том, что FormView получает сообщение от элемента управления источником данных. что данные изменились, и поэтому он должен перепривязка для получения новых данных. На самом деле это не должно было быть сделано поскольку мы все еще находимся в режиме вставки. У меня есть обходной путь для вашего ссылка: Наследуйте от FormView, чтобы создать свой собственный элемент управления FormView, переопределите OnDataSourceViewChanged и установите RequiresDataBinding в false если мы находимся в режиме вставки:

public class MyFormView : FormView
 {
 protected override void OnDataSourceViewChanged(object sender,
EventArgs e)
 {
 if (this.CurrentMode == FormViewMode.Insert)
 {
 this.RequiresDataBinding = false;
 }
 else
 {
 base.OnDataSourceViewChanged(sender, e);
 }
 }
 }

Я протестировал это на своей стороне, и кажется, что все работает правильно. Пожалуйста, попробуйте и дайте мне знать о результате.

2
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

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