在討論this question的評論之後,它對我感到好奇 - 在JavaScript塊中使用Url.Action
來使用RouteConfig中定義的相同路由而不是手動硬編碼URL是否是一種很好的做法?它違反了MVC關於分離的思想嗎?在Html Javascript塊中使用Url.Action是MVC未來的良好做法嗎?
例如,如果我有一些針對一些JavaScript代碼塊:
<script type="text/javascript">
function validateName(objName){
$.ajax({
url: '@Url.Action("ValidateName", "Signup")',
data: objName,
sucess: function(result){
if (result == someGoodValue){
window.location = '@Url.Action("NextStep", "Signup")';
} else {
alert("Invalid name");
}
}
});
}
</script>
它是一個很好的做法在這樣的塊使用Url.Action?
UPDATE
我主要擔心的是,如果我們硬編碼的HTML網址,JavaScript文件,那麼如果路由名稱改變了,它被轉移到區等,那麼我們就需要手動更換所有硬編碼的網址,這有點痛苦。
我當然相信使用Url.Action而不是手動使用硬編碼的URL? – Satpal