我有一個ASP.NET MVC4應用程序使用jQuery在同一個項目中對WebApi控制器進行一些調用。將ID傳遞給控制器,/MyController/123
應該在加載頁面時顯示不同的數據。問題是我不知道如何讓這個ID傳遞給jQuery。它本身不是查詢字符串參數,所以this將不起作用。我想要的是來自URL的「123」。有沒有一種通用/標準的方法來做到這一點,只是斬斷網址?獲取傳遞給控制器的「id」爲javascript
1
A
回答
1
你可以把它放在一個ViewBag對象在控制器,ViewBag.PassedId = ID,然後在前端使用剃刀或任何視圖發動機的方法將其放置到一個JavaScript變量,
<script>
var id = @(ViewBag.PassedId);
</script>
或者你可以將它附加到一個隱藏的表單元素並獲取值。但是你會綁定一個對象模型從控制器傳遞。
+1
這正是我所期待的!我從來沒有想過用JavaScript混合Razor代碼。謝謝! –
0
我做了一個更新的答案在傑羅米鏈接到問題的一個對我的項目之一:
(function ($) {
//http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values
//usage $.QueryString["param"]
$.QueryString = (function (a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i) {
var p = a[i].split('=');
if (p.length != 2) continue;
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'));
$.mvcId = (function (a.toLowerCase()) {
//usage $.mvcId("Bar"); /Foo/Bar/162 (Gets 162)
var b = location.href.toLowerCase();
var c;
if (a != "") {
a += "/";
c = b.lastIndexOf(a);
if (~c) { // ~ = truthy http://stackoverflow.com/questions/1789945/javascript-string-contains
b = b.substring(c, b.length);
}
else {
throw "didn't match querystring";
}
}
c = b.lastIndexOf("/");
var id = b.substring(c + 1, b.length);
return id;
});
})(jQuery);
所以用它作爲
//url is /foo/bar/123
var foo = $.mvcId("bar");
返回123
相關問題
- 1. 獲取上傳的ID並傳遞給控制器,codeigniter
- 2. 將控制ID傳遞給javascript和css
- 3. 傳遞並從JavaScript獲取ID到PHP控制器
- 4. 如何將ID傳遞給控制器?
- 5. 將$ id傳遞給控制器
- 6. 將javascript模型傳遞給控制器
- 7. 傳遞值給控制器
- 8. 傳遞「控制」作爲參數vs傳遞控制的ID
- 9. 作爲parameterJSONArray傳遞給Spring控制器
- 10. 將div ID作爲參數傳遞給控制器?
- 11. 將控制值傳遞給控制器
- 12. 將ID值傳遞給控制器,獲取質量分配安全錯誤
- 13. 從控制器傳遞字典爲Javascript
- 14. 將ID從視圖傳遞給js控制器,然後傳遞給CI控制器
- 15. 從ExtJS將控制器的組合ID和值傳遞給控制器
- 16. 將控制器中的值傳遞給GSP - 傳遞給javascript函數
- 17. ASP.NET MVC - Javascript數組總是傳遞給控制器作爲null
- 18. 獲取解析變量並傳遞給控制器
- 19. AngularJS分頁 - 獲取當前頁面並傳遞給控制器
- 20. 如何傳遞控制器的ID
- 21. 普惠制值傳遞給控制器
- 22. 從partialview中選擇列表的ID不傳遞給控制器
- 23. Mvc 2 - ActionLink創建新的ID並傳遞給控制器
- 24. ASP.NET MVC將ActionLink中的ID傳遞給控制器
- 25. 如何將id傳遞給laravel中的控制器5.2
- 26. 如何將我的ID從jqgrid傳遞給控制器
- 27. 將視圖中的ID安全地傳遞給控制器(CodeIgniter)
- 28. 如何將行ID傳遞給控制器中的函數
- 29. 將選定下拉選項的ID傳遞給控制器
- 30. 將帖子ID傳遞給posts/index.html.erb中的單獨控制器
鑑於調整正則表達式,我認爲http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values將工作。 –