Mam projekt MVC4, i staram się, aby działał na adresach URL takich jak/QRCode/address/amount. Oto jak to jest zgodność:Projekt MVC4 - nie może mieć kropki w wartości parametru?
Trasa:
routes.MapRoute(
name: "QRCode",
url: "QRCode/{address}/{amount}",
defaults: new { controller = "QRCode", action = "Index" }
);
Kontroler:
public class QRCodeController : Controller
{
public ActionResult Index(string address, double amount)
{
...
Problemem jest:
Kiedy URL: QRCode/address1/33
, wszystko działa dobrze, ale jeśli nie ma kropka w drugim parametrze, na przykład: QRCode/address1/33.33
, otrzymuję komunikat "Błąd HTTP 404.0 - Nie znaleziono".
Ponowne ogłaszanie drugiego parametru ciąg daje ten sam wynik.
Korzystanie% 2E w miejsce kropki rentowności samego rezultatu
ktoś wie co tu się dzieje? Wiem, że działało poprawnie w MVC3
"Kropki" zwykle wyzwalają IIS, aby spróbować zmapować plik do typu MIME, a następnie do programu obsługi. Tak więc IIS prawdopodobnie szuka sterownika .33, który oczywiście nie istnieje. Czy twój web.config jest skonfigurowany do uruchamiania wszystkich żądań przez potok? – vcsjones
Sprawdzałbym mapowania programu obsługi .. – Baz1nga