我一直試圖讓this工作。這基本上是某種MVC頁面在webforms cms(umbraco)中工作的一種方式,有人在我之前嘗試過,並且遇到了與MVC2.0相關的問題(see here),我已經閱讀了帖子,做了那裏發佈的內容,但是使用了or沒有這些代碼,我似乎陷入了另一個問題。在asp.net中定製的httphandler無法獲取請求查詢字符串?
好像,如果我叫一個URL,它觸發的處理程序,但沒有請求的查詢字符串傳遞,變量originalPath總是空的, 例如我把這個網址:http://localhost:8080/mvc.ashx?mvcRoute=/home/RSVPForm 的處理程序應該得到mvcRoute但它總是空的。因此被重寫爲一個簡單的/然後返回資源不能被發現的錯誤。
下面是代碼我現在使用:
public void ProcessRequest(HttpContext httpContext)
{
string originalPath = httpContext.Request.Path;
string newPath = httpContext.Request.QueryString["mvcRoute"];
if (string.IsNullOrEmpty(newPath))
newPath = "/";
HttpContext.Current.RewritePath(newPath, false);
IHttpHandler ih = (IHttpHandler)new MvcHttpHandler();
ih.ProcessRequest(httpContext);
HttpContext.Current.RewritePath(originalPath, false);
}
我想這方面的一些新的投入,因爲我自己盯着盲人就這麼一個簡單的問題,但我想我有更多的問題與MVC本身。