簡體   English   中英

ASP.Net MVC路由URL QueryString

[英]ASP.Net MVC Routing URL QueryString

有沒有一種方法可以鏈接到另一個顯示搜索結果的視圖而不必使用查詢字符串? 例如,我知道我可以執行以下操作:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string txtOrderNumber)
{
    return RedirectToAction("OrderLookup", new { controller = "Report", id = txtOrderNumber });            
}

但是,假設我只想使用一個超鏈接(帶有訂單號的超鏈接),而不是一個表單發布。 如何在不使用查詢字符串的情況下路由到結果視圖? 非常感謝。

將txtOrderNumber參數重命名為id。 然后它將被默認路由提取。 或者,在默認路由的id值的相同位置引入一個名為txtOrderNumber的新路由,並限制它僅響應此控制器。

埃里克,

使用webforms時,通過發布文章來傳遞命令參數,並將值存儲在控件中(我認為它存儲在隱藏字段或也是隱藏字段的viewstate中),但是頁面的確發布了。

如果您不想發表文章並且不使用查詢字符串,那么我能想到的唯一解決方案是讓您在同一頁上發表文章,捕獲id並將其存儲在TempData中,然后執行RedirectToAction。 在控制器中,只需使用上一頁中存儲的TempData值即可。

這仍然會產生一個帖子,但是如果用戶刷新頁面,他們將不會看到“重新發送數據”消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM