2016-10-05 19 views
1

我嘗試使用
RedirectToAction("Index", new {id = "some_id"});
但它使URL Index/some_id代替Index?id=some_id,我需要。 如何解決它?
P.S.我試圖撥打RedirectToAction("Index?id=some_id");但它不起作用。
P.P.S.我認爲這很容易做出來。但我在ASP.Net noobie,無法找到如何。重定向到行動,並傳遞參數

+0

這是因爲默認路由配置是'{controller}/{action}/{id}'。 –

+1

您使用默認路由。如果你想要一個查詢字符串而不是路由值,那麼改變這個參數的名字,使它與默認路由不匹配(​​但是不清楚你爲什麼要這樣做) –

+0

我該如何重寫它? –

回答

0

我認爲這不是問題,因爲活頁夾應該能夠選擇它併爲您綁定id值。如果你想鏈接到?param = value,請不要使用id(作爲參數)或更改路由配置。

+0

我需要得到它像查詢值 –

+0

在C#代碼或在頁面上的JavaScript? – xszaboj

2

如果您必須在路由配置中路由「{controller}/{action}」,則可以使用公共ActionResult索引(字符串id)作爲控制器方法。

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

謝謝!我已經知道了。只是我不知道路由配置文件。 –