«NullReferenceException пайдаланушы кодынан өңделмеген»

Менің интерфейсім артта қалып, келесі күні кейбір мәселелер туындады және мұнда біреу веб-браузерді басқару үшін пайдалану туралы мәлімдеме ұсынды.

Енді оны іске асырғаннан кейін мен:

NullReferenceException пайдаланушы кодымен өңделмеген   Нысан сілтемесі нысанның данасына орнатылмаған.

Менде ерекше мәселе туындайды, себебі мен кодты басқарсам да, басқасымен ешнәрсе байланыстырмаймын, алайда бұл жерде ешқандай мағынасы жоқ жаңылысу қатесін аламын.

Міне, менің кодымның мысалы:

using (System.Windows.Forms.WebBrowser webBrowser1 = 
    new System.Windows.Forms.WebBrowser())
{
   //issue happens here
    if (webBrowser1.Url.AbsoluteUri.Contains("/signup"))
    {
       //rest of the code 
    }  
}
0
Дизайнер арқылы пішінге шолғышты басқаруды ғана қосуға тырысасыз ба? Сізге әлдеқайда қарапайым нәрсе. (Егер сіз шынымен оны көрсетуді қаламасаңыз, оны пішінде жасыра аласыз.)
қосылды автор Paul Sasik, көзі
Неліктен WebBrowser бағдарламасын осы жолмен пайдаланасыз? Сіз неге жетуге тырысасыз? WebBrowser - веб-беттерді .NET Forms қолданбаларында көрсету үшін арналған және әдетте формаға және т.б. қосылады.
қосылды автор Paul Sasik, көзі
Мен нысанды деректерді жазуға тырысамын. Пішінге жазылатын код кодтың қалған бөлігін айтады.
қосылды автор user1017524, көзі
NullReferenceException деген барлық оқиғалар бірдей. Кейбір кеңестер үшін « NullReferenceException дегеніміз не? » бөлімін қараңыз.
қосылды автор John Saunders, көзі

2 жауаптар

Сіз әлі де WebBrowser басқару элементін жасағаныңызды және әлі де URL параметрін орнатпағаныңызды ескере отырып, мен өзіме шығып, Url код> нөлге тең.

6
қосылды
қосылды автор user1017524, көзі
@Ramhound Мен торапты нұқу арқылы навигацияны орындаймын
қосылды автор user1017524, көзі
@Justin Сонда не істеуім керек? Онсыз мен қателіктер жіберемін бе?
қосылды автор user1017524, көзі
Менде бар басқа код - бір рет басылған түйме сайтқа өтуге болатын түйме. Содан кейін, if сөзі бар болса, сайтта url-да сөз тіркесі бар болса, ол кодты жасайды.
қосылды автор user1017524, көзі
Оны қалай түзете аламын? Мен постта айтқандай, ObjectDisposedException қателігімен айналыстым, ал басқа бір ағынның біреуін пайдалануды ұсынамын.
қосылды автор user1017524, көзі
@ user1017524 - бастапқы сұрағыңызға сілтеме бар ма?
қосылды автор Justin Niessner, көзі
@ user1017524 - Бар WebBrowser басқару элементін пайдаланғыңыз келеді. Бұл жағдайда қолданылатын блоктың ішіне кірістіру мүлдем қажет емес.
қосылды автор Justin Niessner, көзі
@ user1017524 - Сіздің кодыңыздың қалғанын көрмейсіз, не істеу керек екенін білмеймін. WebBrowser басқару элементінің бұрыннан бар URL мекенжайына ие болуын күткендей көрінеді ... бірақ егер сіз анық түрде орнатпасаңыз, ол бұлай етпейді.
қосылды автор Justin Niessner, көзі
@JustinNiessner - Егер ол осы батырманы басқанда, бұл дұрыс болар еді деп ойлаймын, ол жоқ.
қосылды автор Security Hound, көзі
@ user1017524 - Егер сіз оның нөлін анықтайтын болса, URL мекенжайына сілтеме жасай алмайсыз, егер ол болмаса, if (webBrowser1.Url.AbsoluteUri.Contains («/ signup»))
қосылды автор Security Hound, көзі

You are creating a new instance of System.Windows.Forms.WebBrowser

System.Windows.Forms.WebBrowser webBrowser1 = new System.Windows.Forms.WebBrowser();

Енді сіз webBrowser1.Url .... сипатын тексересіз, бірақ шын мәнісінде сізде осы сипатта ештеңе жоқ. Мәселен, анық сіз nullreferenceexecption аласыз.

Егер шешіміңіз туралы сұрасаңыз, өзгеру тәсілінен басқа ешқандай шешім жоқ және шын мәнінде не істеуге тырысатынымды түсіне алмаймын. Мен оның себетін сатып алып, оның ішіндегі барлық жемістері бар болса, онда алма іздеуді бастайтын сияқтымын ... Нысанды қазір ғана жасап жатқанда, онда оның мүліктік мәтіні бар.

бұл көмектесе алады

0
қосылды
қош келдіңіздер.
қосылды автор Sandy, көзі
ол көмектесуі мүмкін c-sharpcorner.com/UploadFile/kapilsoni88/…
қосылды автор Sandy, көзі
Мен неге «өтініш» сөзін пайдаланып жатырсыз?
қосылды автор Sandy, көзі
мүмкін, иә .... мен сценарийді білмеймін, себебі мен оны тексеріп, жолды тексеріп, оны url деп тағайындалмас бұрын жасай аламын ... неге сіз webbrowser данасын жасайсыз?
қосылды автор Sandy, көзі
Мен сенімдімін: неге сіз қатені жоюға тырысты .... қайдан URL жолын алады? Сіз тікелей «Тіркеу» сөзінің бар-жоғын тексере алмайсыз ба? неге webbrowser.url үшін бару керек?
қосылды автор Sandy, көзі
Мен мәселені шешдім. Менің мәселе, менің цикл үшін кодтың бір бөлігін қосуды ұмытып кеткен едім, мысалы, менде осындай болды: (int i = 0; i
қосылды автор user1017524, көзі
Нах, рахмет бәрібір, бірақ мен көп көмектесті емес: /
қосылды автор user1017524, көзі
Пайдалану мәлімдемесі пайдаланушылық мәлімдемені неге таныстырғанын көрсетеді.
қосылды автор user1017524, көзі
Тек менің кодты DocumentText көмегімен тексердім, ал интерфейс ақылдылыққа ұқсайды. Мұздатылған, сондықтан менде ештеңе жоқ
қосылды автор user1017524, көзі
Өйткені менде ақаулық орын алды және басқа бір ағындағы біреу ұсынды, онда мен веб-браузерді жасайтын жерде қолданамын.
қосылды автор user1017524, көзі
Мен оны Twitter-тан аламын. Сіз орнына url-ге құжаттың мәтіні бар if-оператордың болуы керек деп айтасыз ба?
қосылды автор user1017524, көзі
Енді мен түсінемін. Мен не істеп жүрсем, ол торапты навигациялау, ол батырманы басады. Құжатта аяқталған оқиғада, егер деректерді пішінге толтыратын мәлімдеме болса. Кешеден бастап интерфейсім артта қалып, мен ObjectDisposedException алуды жалғастыра бердім, және пайдалану туралы ұсынысты қолдануды ұсындым. Енді олар маған берген мәлімдеме жаңа браузерді іске қосатындығын түсіндім және веб-браузерде ешқандай URL жоқ болғандықтан, нөлдік қате аламын. Мұны қалай істеуге болады, сондықтан барлық жұмыс істей алмай, қате жібермейсіз?
қосылды автор user1017524, көзі