Dziwny przypadek stringa pewnej metody

Dziwny przypadek stringa pewnej metody
K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 113
0

Witam,

Sprawa dotyczy ASP.NET MVC otóż spotkałem się dzisiaj z dość osobliwym przypadkiem, mianowicie wysyłam przez ajaxa stringa do metody która wygląda tak:

Kopiuj
 
public ActionResult PogodaPrzekaz(string city)  //tu pokazuje że miasto jest ustawione na Koszalin
        {                                                       //tu pokazuje że jest nullem
            string miasto = city.ToString();          //tu że jest nullem a zachwile że jest Koszalinem i to przypisuje   (to dodałem żeby sprawdzić co się dzieje ze zmienną)
            GlobalWeather pogodaINI = new GlobalWeather();           //wchodzi do external WebServices po czym się cofa i wyrzuca błąd że zmienna powyżej jest jednak nullem
            var temperaturaxml = pogodaINI.GetWeather(miasto, "Poland");
            XmlDocument newxml_temp = new XmlDocument();
            newxml_temp.LoadXml(temperaturaxml);
            var wybrana_temp = newxml_temp.GetElementsByTagName("Temperature").Item(0).InnerText;

            return Json(wybrana_temp);
        }

Co wy na to??? Spotkaliście się z czymś takim???

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

Szczerze nie mam pojęcia o co ci chodzi...
Ogarnij to nazewnictwo, jak można tak polski i angielski mieszać...

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 113
0

Ok, a więc jeszcze raz wysyłam przez ajaxa stringa do kontrolera

Kopiuj
 <script>

    $(function () {

        $("#test2").click(function () {

            var selectfild = document.getElementById("idmiasta");
            var selectedcity = selectfild.options[selectfild.selectedIndex].text;
            $.post("/Home/GetTemperature", { "city": selectedcity },
                function (response) {
                    var labelnew = document.getElementsByTagName("LABEL"); //te 3 linijki są źle, ale są po respone więc nic nie zmienia
                    labelnew.text(response);                                                
                    //$('#cart-header-items-count').text(response.CartItemsCount);  
                });
            return false;
        });
    });
</script>

a to jest kod w kontrolerze który tak dziwnie się zachowuje

Kopiuj
 
public ActionResult GetTemperature(string city)  //tu pokazuje że miasto jest ustawione na Koszalin
        {                                                       //tu pokazuje że jest nullem
            string newcity = city.ToString();          //tu że jest nullem a zachwile że jest Koszalinem i to przypisuje   (to dodałem żeby sprawdzić co się dzieje ze zmienną)
            GlobalWeather pogodaINI = new GlobalWeather(); //wchodzi do external WebServices po czym się cofa i wyrzuca błąd że zmienna powyżej jest jednak nullem
            var temperaturaxml = pogodaINI.GetWeather(newcity, "Poland");
            XmlDocument newxml_temp = new XmlDocument();
            newxml_temp.LoadXml(temperaturaxml);
            var choosen_temp = newxml_temp.GetElementsByTagName("Temperature").Item(0).InnerText;
 
            return Json(choosen_temp);
        }

Teraz powinno być bardziej zrozumiałe. Może jakieś pomysły???

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
1
Kopiuj
GlobalWeather pogodaINI = new GlobalWeather(); //wchodzi do external WebServices po czym się cofa i wyrzuca błąd że zmienna powyżej jest jednak nullem

Nie używasz tu zmiennej city więc jak ci może wywalać błąd że city jest nullem?
Jeśli chodzi o to:

Kopiuj
string newcity = city.ToString();          //tu że jest nullem a zachwile że jest Koszalinem i to przypisuje   (to dodałem żeby sprawdzić co się dzieje ze zmienną)

Zatrzymując się tu w debuggerze przed wykonaniem tej linijki oczywiście newcity będzie nullem, nie rozumiem komplentnie po co ta linijka jeśli używasz debuggera.
Co masz w wyjątku? Pokaż klasę GlobalWeather

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.