2011-01-25 11 views
11

To dziwne, że mam problem:Asp.net: nie można usunąć tego problemu z debugowania: Sys.ArgumentNullException: Wartość nie może być pusta. Nazwa parametru: elementy

Sys.ArgumentNullException: Wartość nie może być pusta. Nazwa parametru: elementy.

Ten problem występuje tylko w IE.

Szczegóły:

  • ScriptResource.axd = linia: 4868
  • Kod: 0 - Char: 12

informacji o błędach internetowa

User Agent: Mozilla/4.0 (compatible , MSIE 8.0, Windows NT 6.1, Trident/4.0, SLCC2, .NET CLR 2.0.50727, .NET CLR 3.5.30729, .NET CLR 3.0.30729, Media Center PC 6.0, InfoPath.2; .NET4.0C;. NET4.0E; AskTbBT4/5.8.0.12304) Znacznik czasu: wt., 25 stycznia 2011 11:24:42 UTC

Wiadomość: Sys.ArgumentNullException: Wartość nie może być pusta. Nazwa parametrów: Elementy Line: 4868 Char: 12 Kod: 0 URI: http://asdfsdf/ScriptResource.axd?d=7NwOnZl2VMauVPybpy_0vvP2zsCf0g8YK4dd3SkNMq873HwvoDhnE7rPvjFZwFLM0&t=11e661nl.js

Z góry dzięki!

+0

Czy możesz pokazać kod zawierający elementy parametrów? Błąd mówi, że twoja zmienna elementów ma wartość null lub undefined. Pokaż linię kodu, w jaki sposób otrzymujesz elementy? –

+0

Czy używasz kontrolek AJAX? Ajax Control Toolkit? Kontrolki ASP.NET AJAX innych firm? –

+0

Mam ten sam problem. Niezaprzeczalnie jest to połączenie UpdatePanel i ajaxcontroltoolkit. – UmaN

Odpowiedz

15

Mam ten sam problem ...

To niezaprzeczalnie kombinacja UpdatePanel i AjaxControlToolkit ...

Edit:

Nie patrz jak stary to pytanie. Może to już nie ma znaczenia ... Ale w moim przypadku spotkałem się z tym problemem już dwukrotnie i znalazłem dwa różne rozwiązania. Pierwsze zgłoszenie dotyczyło paneli aktualizacji, modalpopupextendera i kontrolki validationsummary. Problem polegał na tym, że poprawne podsumowanie nie wyświetliło średnika na końcu wygenerowanego kodu javascript. Rozwiązaniem jest stworzenie własnego mini-control, która dziedziczy ValidationSummary i robi to na pre-render:

protected override void OnPreRender(EventArgs e) 
    { 
     base.OnPreRender(e); 

     ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), this.ClientID, ";", true); 
    } 

prostu dodaje średnik do javascript. To rozwiązało to.

Nie jestem pewien, czy znowu miałem do czynienia z tym samym problemem, ale na mojej stronie z problemami pojawiły się również aktualizacje, pakiety narzędzi ajaxcontrol (Modalpopupextender) i podsumowania validaitonu. Ponieważ zapomniałem mojego poprzedniego rozwiązania, spróbowałem innego znalezionego w google; ustawienie

ScriptMode="Release" 

na moim scriptmanager na mojej stronie wzorcowej. To zadziałało. Nie jestem pewien, czy powinienem być szczęśliwy, czy nie ... Wygląda na to, że wersja do debugowania wypluwa javascript, który nie działa w połączeniu z innymi kontrolkami asp.net.

+0

próbowałem tego, ten błąd został naprawiony, a nowy błąd pokazujący "undefined jest null lub nie jest obiektem" w srciptresource.axd w IE8 – Syed

+1

Dzięki @UmaN Uratowałeś mój dzień. Ale podejrzewam, że tryb zwolnienia uruchamia debugowanie przeglądarki. Ale, siano, moja aplikacja działa. Opuszczam to, aby później zbadać. –

+0

to rozwiązało mój problem. – greg

26

Zmiana ScriptMode na Release to dla mnie.

<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release"></asp:ScriptManager>

+0

Jesteś prawdziwym bohaterem! –

2

Otrzymasz również ten błąd jeśli ustawisz Visible = False w sprawie kontroli określonej w CancelControlID z ModalPopupExtender. Jeśli masz ścieżkę kodu, w której musisz ukryć wartość CancelControlID, pamiętaj o ustawieniu CancelControlID = "" w tej sytuacji. To był problem wpadłem ...

1

wydarzyło mi gdzie utworzyliśmy panel aktualizacji w kontroli serwera zwyczaj i nie używać RenderControl() potem

protected override void RenderContents(HtmlTextWriter writer) 
{ 
    myUpdatePanel.RenderControl(writer); 
} 
0

W przypadku korzystania ReportViewer na stronie może to pomóc.

Ustaw compilation debug="false" w pliku web.config.

Powiązane problemy