MVC在View中頁面跳轉


在做人事系統的時候須要用到頁面跳轉,那么頁面跳轉究竟用什么方法好呢?依照曾經的思路,我就會這么寫。

<span style="font-size:18px;">window.location.href = '/TechnicalFile/DeleteTechnicalFile';</span>
可是MVC和WebForm是有點不同的,MVC有路由,假設改變了路由規則,將”/” 變為 ”-”的話,就得變成
<span style="font-size:18px;">window.location.href= '/TechnicalFile-DeleteTechnicalFile';</span>
這種就得改動代碼,無疑是不好的。那怎么辦呢?MVC帶的UrlHelper非常好的幫助我們攻克了這個問題。能夠將上面的代碼改為:
<span style="font-size:18px;">window.location.href= '@Url.Action("QueryDetailTechnicalFile", "TechnicalFile")';</span>
這樣,路由的變化就不會影響到我們的地址了。

一切都有UrlHelper來幫我們做了。
 
僅僅是做一個鏈接跳轉比較簡單。可是怎樣在跳轉的時候給它帶上參數呢?在WebForm里面
直接往地址后面加上?然后key=value就能夠了。那么在MVC中怎么辦呢?由於它是有路由規則的,那么究竟該怎么辦呢?上網查了一下,也沒有查出個所以然來。然后就自己開始測試。@Url.Action里面是帶賦值參數的重載的,可是key所相應的value都必須寫死了,這一點就排除了,由於我的參數要是動態的。
 
最后沒有辦法,自己就用老辦法試了試,還是往后面加了”?”沒想到在Controller里面接收成功了,結果我的鏈接就成了這個樣子

<span style="font-size:18px;">window.location.href= '@Url.Action("UpdateTechnicalFile", "TechnicalFile")?

id=' + rows[0].ID;</span>

盡管長的有點難看和別扭吧,可是也算是實現了功能。總感覺還有更好的實現方法,僅僅是如今了解的有限。慢慢的往下走,相信會有更好的解決的方法的。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM