我正在使用C#,MVC。MVC C#,部分視圖,jquery load()在.load()被調用後無法正常工作
我遇到了部分視圖和jquery加載正常工作的問題。
當用戶點擊超鏈接叫包,我撥打以下:
public ActionResult KitsEdit(string id)
{
int idnbr = Convert.ToInt32(id);
var Progs = db2.usp_KitInfo(idnbr)
.OrderBy(x => x.TDate).ToList();
return PartialView(Progs);
}
它加載頁面罰款PartialView。
視圖有行,並且每行都有一個編輯超鏈接。 當用戶點擊編輯超鏈接時,我會顯示一個對話框,用戶可以在其中修改某些信息出現在每一行並點擊提交。這是第一次正常工作。
在提交時,我叫我做一些驗證,然後調用:
$("#stlist").load('@Url.Action("KitsEdit", "Spr")' + '?id=' + '@Model.id');
,因爲我需要重新加載局部視圖頁面上,使用戶可以看到更新的信息。
頁面的負載在表面上正常工作。但是,當我在做了.load之後第二次單擊編輯超鏈接時,發生的情況是,當對話框顯示一些以前工作的功能根本無法工作時。例如,如果我單擊該複選框不起作用,則該值無法正確傳遞迴控制器操作。此外,對於提交,我點擊了一些代碼,但那些甚至不工作。它去diectly控制器動作並繞過所有的代碼在
$("#submit").click(function().
注意,這僅僅發生後負荷()被調用。
問:除了將加載頁面上的PartialView的.load()之外,還有什麼。如果沒有,我怎麼才能使它與.load()正常工作。
下面是長什麼樣的點擊提交,如:提前
$("#submit").click(function() {
// following .on code won't execute code inside of function so have it commented
// $("#submit").on("click", function() {
var inactivedate = $("#InactiveDate").val();
var inactivecheck = $('#Inactive').is(':checked');
var inactivereason = $('#InactiveReason option:selected').text();
if ((!inactivedate || !$.trim(inactivedate)) && $('#Inactive_cb').attr('checked') == true) {
alert('Inactive Date must be entered.');
return false;
}
if ($('#Inactive_cb').attr('checked') == true && inactivereason == '<Choose>') {
alert('Inactive Reason must be selected.');
return false;
}
var url = '@Url.Action("EditTrain", "Spr")';
$.ajax({
type: "POST",
url: url,
async: false,
data: $('#theForm').serialize()
});
$("#stlist").load('@Url.Action("kitsEdit", "Spr")' + '?id=' + '@Model.spkrid');
parent.$.fn.colorbox.close();
return false;
});
});
感謝。
Shyju - 感謝您的回覆。我替換$(「#submit」)。click(function(){with $(document).on(「click」,「#submit」,function(){但在$(document).on(「點擊「,」#提交「,函數(){似乎得到執行,代碼直接跳過控制器操作繞過點擊代碼 – 2012-07-11 18:09:05
@NatePet:如果你想防止默認提交行爲,請使用preventDefault方法。回答 – Shyju 2012-07-11 18:11:41
謝謝您的答覆。我e.preventDefault(),但仍然沒有運氣嘗試過。裏面的代碼$(文件)。對的(「點擊」,「#提交」功能(E)是不是被執行 – 2012-07-11 18:24:21