Как я могу получить доступ к IFRAME из файла codebehind в ASP.NET?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

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

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

26
задан Ian Boyd 3 October 2008 в 19:00
поделиться

5 ответов

Если iframe находится непосредственно на странице, куда код работает, необходимо быть в состоянии сослаться на него непосредственно:


contentPanel1.Attribute = value;

, Если не (это находится в дочернем элементе управления или MasterPage), Вам будет нужна хорошая идея иерархии страницы... Или используйте метод "в лоб" записи рекурсивной версии FindControl ().

12
ответ дан AaronSieb 3 October 2008 в 19:00
поделиться
  • 1
    На ссылке winmerge это говорит поддержки слияния с 3 путями только командной строкой, таким образом, в целях мерзавца it' s хорошо – dvdvck 30 July 2014 в 21:38

Попытайтесь использовать

this.Master.FindControl("ContentId").FindControl("controlId")

вместо этого.

1
ответ дан Tim Diekmann 3 October 2008 в 19:00
поделиться
  • 1
    I' m общий новичок мерзавца. Это похоже на it' s из некоторого файла конфигурации (как .ini файл). Можно ли упомянуть, где это? – aikeru 27 January 2013 в 18:33

Попытайтесь инстанцировать contentPanel1 вне события Load; сохраните его глобальным к классу.

0
ответ дан Ian Jacobs 3 October 2008 в 19:00
поделиться
  • 1
    Tom, не только, что, но и обратная косая черта прямо перед переменными $REMOTE и $LOCAL вызывает проблему с WinMerge (I' m использующий последнюю версию 2.14.0.0 на данный момент) – zumalifeguard 13 October 2014 в 19:05

Взгляды метода FindControl в дочерних элементах управления "управления" метод выполняются на. Попытайтесь просмотреть набор управления рекурсивно.

    protected virtual Control FindControlRecursive(Control root, String id)
    {
        if (root.ID == id) { return root; }
        foreach (Control c in root.Controls)
        {
            Control t = FindControlRecursive(c, id);
            if (t != null)
            {
                return t;
            }
        }
        return null;
    }
0
ответ дан RyanFetz 3 October 2008 в 19:00
поделиться

Попробуйте это.

ContentPlaceHolder cplHolder = (ContentPlaceHolder) this.CurrentMaster.FindControl ("contentMain");

HtmlControl cpanel = (HtmlControl) cplHolder.FindControl (") contentPan ;

0
ответ дан 28 November 2019 в 17:16
поделиться
Другие вопросы по тегам:

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