RedirectToAction方法提供了5個重載方法
1、單純跳轉,不帶參數。
string redirectUrl = "/List" ; return RedirectToAction(redirectUrl);
2、碰到需要傳參的需求,想取原來參數傳過去
1)、剛開始簡單的這樣拼接;
string redirectUrl = "/List?planid=" + Request.Params["hdplanid"]; return RedirectToAction(redirectUrl);
結果報錯,並且瀏覽器中明顯示亂碼。
2)用 RedirectToAction 的另一個重載方法,參數直接在后面new,
string redirectUrl = "/List" ; return RedirectToAction(redirectUrl, new { planid= Request.Params["hdplanid"] }
跳轉成功,且參照自動拼接到url后面。
but,下面的代碼有問題,跳轉時不會是:url?id=''這種形式。
return RedirectToAction(url, new { id = dto.ID });
參數不能是“id”,如果是傳id,可以改個名字,否則會出現
解決方案:參數名改下。如id-->oid。
return RedirectToAction(url, new { oid = dto.ID });