我正在開發MVC應用程序,我使用的是剃刀語法。 我想從下拉列表中選擇項目並將其傳遞給控制器方法。如何將選定的下拉值傳遞給MVC中的URL?
但我得到錯誤。
The name 'd' does not exist in the current context
更新的代碼是...
$("#btnForword").click(function(){
d = $('#HODList').val()
alert(d);
var url2 = "@Html.Raw(Url.Action("SendPaymentAdviceForApproval", "PaymentAdvice", new { paymentAdviceId = "idValue" , nHOD = "@@[email protected]@" }))"
url2 = url2.replace("idValue",'@Model.Id');
url2 = url2.replace("@@[email protected]@",d);
$.ajax({
url: url2, type: "POST", success: function (data) {
$("#btnForword").css("display","none");
}
});
return false;
});
問題解決問題是在 「d」 解決
的問題在變量 'd'。
我使用檢查谷歌瀏覽器的元素屬性,當我看到它在控制檯窗口.... 當我按一下按鈕選中,我可以看到形成如下方式
HT串... ../PaymentAdvice/SendPaymentAdviceForApproval?paymentAdviceId=304 & nHO8 = d
的jquery-1.7.1.min.js:4
看到在上面的鏈接的最後一個字符,它不應該被來作爲一個「 = D「不是嗎?
我用下面的代碼...它完美地工作。
$("#btnForword").click(function(){
var url2 = "@Html.Raw(Url.Action("SendPaymentAdviceForApproval", "PaymentAdvice", new { paymentAdviceId = "idValue" , nHOD = "HODId" }))";
url2 = url2.replace("idValue",'@Model.Id');
url2 = url2.replace("HODId",$('#HODList').val());
$.ajax({
url: url2, type: "POST", success: function (data) {
$("#btnForword").css("display","none");
}
});
return false;
});
這是Jquery中的一個bug嗎?
你不能用js變量在服務器端代碼...... –
你只需要改變你的語法像d =的document.getElementById( 「HODList」)值。 ;到var d = document.getElementById(「HODList」).value;可能是這個幫助 – Rajpurohit
問題解決了,請檢查更新的問題... – bnil