[英]Asp.net MVC 4 getJson work for create but not for edit. Seems to have an odd url in edit
我正在編寫一個MVC 4應用程序,我有一個javascript函數來支持幾個級聯的下拉菜單。 javascript位於js文件中,我正嘗試將其用於創建和編輯視圖。 它適用於創建視圖,但不適用於我的編輯視圖。 我已經使用IE的開發人員工具查看了網絡流量,並注意到create調用中的URL是正確的Controller / MyActionMethod。 來自編輯調用的url為controller / edit / controller / MyActionMethod。
我目前正在使用默認的路由配置,它似乎運行良好,因此我並沒有對其進行深入研究。
關於在編輯案例中為什么將controller / edit /預先附加到URL的任何想法? 知道如何解決嗎?
如果有用,我會發布代碼,但我認為這可能是我對網址和路由不了解的東西。
謝謝
這是JavaScript
$(function () {
$.getJSON("ProfessionTypeList", function (data) {
var items = "<option>---------------------</option>";
$.each(data, function (i, professionType) {
items += "<option value='" + professionType.Value + "'>" + professionType.Text + "</option>";
});
$("#ProfessionTypeId").html(items);
})
});
下一行
$.getJSON("ProfessionTypeList",
將生成表單的URL
http://domain.com/Controller/ActionName/ProfessionTypeList
即它將在URL末尾附加ProfessionTypeList
。
您應該嘗試使顯式URL完整路徑。 在CSHTML
文件中,您可以使用@Url.Action("ProfessionTypeList")
謝謝彗星!
這是我在幫助他人時所做的一些詳細信息。 我敢肯定,有一種更干凈的方法不使用隱藏字段。 不確定是否重要。
我使用URL作為值創建了隱藏字段。
@Html.Hidden("ProfessionTypeListUrl",@Url.Action("ProfessionTypeList", "IsolatedPersonDetailAtEvent"), new { id = "ProfessionTypeListUrl" })
@Html.Hidden("ProfessionSubTypeListUrl",@Url.Action("ProfessionSubTypeList", "IsolatedPersonDetailAtEvent"), new { id = "ProfessionSubTypeListUrl" })
然后我在我的js中查找了它們。
$(function () {
var actionUrl = $("#ProfessionTypeListUrl").attr('value');
$.getJSON(actionUrl, function (data) {
var items = "<option>---------------------</option>";
$.each(data, function (i, professionType) {
items += "<option value='" + professionType.Value + "'>" + professionType.Text + "</option>";
});
$("#ProfessionTypeId").html(items);
})
});
$("#ProfessionTypeId").change(function ()
{
**var actionUrl = $("#ProfessionSubTypeListUrl").attr('value');**
$.getJSON(actionUrl+"/" + $("#ProfessionTypeId > option:selected").attr("value"), function (data) {
var items = "<option>---------------------</option>";
$.each(data, function (i, subType) {
items += "<option value='" + subType.Value + "'>" + subType.Text + "</option>";
});
$("#ProfessionSubTypeId").html(items);
});
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.