SORU
11 ŞUBAT 2010, PERŞEMBE


Birden çok Parametre ASP.NET kullanarak yönlendirme MVC

Firmamız için bir API geliştiriyor ve ASP.NET MVC kullanarak düşünüyoruz. Bizim API tasarlarken, kullanıcı XML biçiminde: API bilgi istemek gibi aramaları aşağıda kullanmaya karar verdik

http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026

Gördüğünüz gibi, birden fazla parametre (yani artist api_key) geçirilir. ASP.NET MVC*,* 11 ** 10 eylem olurdu, ama nasıl eylem için birden çok parametre geçmek istiyorsunuz?

Bu bile yukarıda biçimini kullanarak mümkün mü?

CEVAP
11 ŞUBAT 2010, PERŞEMBE


Parametreler sadece doğrudan eylem yöntemleri üzerine parametreler ekleyerek MVC desteklenir. Aşağıdaki gibi: bir eylem verildi

public ActionResult GetImages(string artistName, string apiKey)

MVC otomatik doldurma bir URL verildiğinde parametreleri aşağıdaki gibi olacaktır:

/Artist/GetImages/?artistName=cher&apiKey=XXX

Ek bir özel durum parametreleri olarak adlandırılır "". ıd Herhangi bir parametre KİMLİĞİ belirtilen sorgu dizesi, bu yüzden yerine: yol yardımcı olabilir

public ActionResult GetImages(string id, string apiKey)

doğru aşağıdaki gibi bir URL ile doldurulması:

/Artist/GetImages/cher?apiKey=XXX

Eğer daha karmaşık bir senaryo varsa, buna ek olarak, bu MVC bir eylem bulmak için kullanır yönlendirme kuralları özelleştirebilirsiniz. Eğer küresel.asax dosya özelleştirilebilir yönlendirme kuralları içerir. Varsayılan olarak kural bu gibi görünüyor:

routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );

Gibi bir url destek istedi

/Artist/GetImages/cher/api-key

bir yol gibi ekleyebilirsiniz:

routes.MapRoute(
            "ArtistImages",                                              // Route name
            "{controller}/{action}/{artistName}/{apikey}",                           // URL with parameters
            new { controller = "Home", action = "Index", artistName = "", apikey = "" }  // Parameter defaults
        );

ve ilk örnek gibi bir yöntem yukarıda.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • CNET

    CNET

    5 Mayıs 2006
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010