Как я Отправляю и затем перенаправляю к внешнему URL от ASP.NET?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
34
задан Nathan Tuggy 20 December 2015 в 01:54
поделиться

5 ответов

Вот то, как я решил эту проблему сегодня. Я запустил от эта статья об Угле C#, но нашел пример - в то время как технически звучат - немного неполным. Все, что он сказал, было правильно, но я должен был поразить несколько внешних сайтов для соединения этого для работы точно, как я хотел.

не помогло, что пользователь технически не отправлял форму вообще; они нажимали на ссылку для движения в наш центр поддержки, но зарегистрировать их в сообщении http должно было быть сделано на сайт центра поддержки.

Это решение включает использование HttpContext.Current.Response.Write() для записи данных для формы, затем с помощью небольшого количества JavaScript на <body onload=""> метод для представления формы надлежащему URL.

, Когда пользователь нажимает на ссылку Центра поддержки, следующий метод называют, чтобы записать ответ и перенаправить пользователя:

public static void PassthroughAuthentication()
{

    System.Web.HttpContext.Current.Response.Write("<body 
    onload=document.forms[0].submit();window.location=\"Home.aspx\";>");

    System.Web.HttpContext.Current.Response.Write("<form name=\"Form\" 
    target=_blank method=post 
    action=\"https://external-url.com/security.asp\">");

    System.Web.HttpContext.Current.Response.Write(string.Format("<input 
       type=hidden name=\"cFName\" value=\"{0}\">", "Username"));

    System.Web.HttpContext.Current.Response.Write("</form>");
    System.Web.HttpContext.Current.Response.Write("</body>");
}

ключ к этому методу находится в этом onload бит JavaScript, который, когда орган по загрузкам страницы, отправляет форму и затем перенаправляет пользователя назад к моей собственной Домашней странице. Причина того бита сглаза состоит в том, что я запускаю внешний сайт в новом окне, но не хочу, чтобы пользователь повторно отправил скрытую форму, если они обновляют страницу. Плюс та скрытая форма продвинул страницу вниз несколько пикселей, которые действовали на мои нервы.

я очень интересовался бы любыми более чистыми идеями, которые любой имеет на этом.

Eric Sipple

13
ответ дан 27 November 2019 в 17:13
поделиться

Я сделал это путем рендеринга формы, которая автоотправляет (использование JavaScript) к желаемому удаленному URL - собирают любую информацию, в которой Вы нуждаетесь для сообщения в обратной передаче веб-формы и затем создаете HTML для удаленно отправляющей формы и представляете его назад клиенту.

я создал служебный класс для этого, которое содержит удаленный URL и набор пар имя/значение для формы.

регистрация перекрестной страницы будет работать при владении обеими из включенных страниц, но не, если необходимо разместить на другой сайт (PayPal, например).

2
ответ дан 27 November 2019 в 17:13
поделиться

Я сделал бы сообщение формы в Вашем коде позади использования класса HttpWebRequest. Вот хороший класс помощника для получения запущенного:

http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx

Оттуда, можно просто сделать Ответ. Перенаправление, или возможно необходимо варьироваться действие на основе результата сообщения (если бы была ошибка, отобразите его пользователю или безотносительно). Я думаю, что у Вас уже был ответ в Вашем вопросе быть честными - кажется, что Вы думаете, что это - сообщение ИЛИ перенаправление, когда в действительности можно сделать их обоих из кода позади.

4
ответ дан 27 November 2019 в 17:13
поделиться

При использовании ASP.NET 2.0 можно сделать это с перекрестная страница, отправляющая .

Редактирование: Я пропустил то, что Вы спрашиваете о внешний страница. Для этого я думаю, что у Вас должна была бы быть своя страница ASP.NET, получают сведения о HTML-форме, действие которой установлено на удаленный URL, и метод установлен на POST. (Используя регистрацию перекрестной страницы, это могло даже быть другой страницей без UI, только скрытые элементы формы.) Затем добавляют немного JavaScript для представления формы, как только результат обратной передачи был получен на клиенте.

2
ответ дан 27 November 2019 в 17:13
поделиться

Я начал с этого примера из CodeProject

, а затем вместо добавления к странице я заимствовал из Saalon (выше) и сделал ответ.

6
ответ дан 27 November 2019 в 17:13
поделиться
Другие вопросы по тегам:

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