2012-10-25 16 views
5

Tôi vừa phát hiện ra một điều khá lạ về một phương thức hành động đang được gọi, thông qua một cú nhấp chuột đơn giản của một liên kết, trong trang MVC 3 của tôi. Đối với một số lý do phương pháp hành động này được gọi là nhiều lần. Không chỉ vậy, nhưng các cuộc gọi tiếp theo được gọi trước khi các cuộc gọi trước đó hoàn tất. Ý tôi là, giả sử tôi có 10 dòng mã trong phương thức hành động của tôi, được đánh số 1, 2 ... 10. Cuộc gọi đầu tiên của phương thức sẽ thực hiện các dòng 1,2 và 3. Cuộc gọi thứ hai thực hiện các dòng 1,2, 3 và 4, sau đó cuộc gọi thứ ba thực thi các dòng 1,2,3 và 4 và sau đó lần đầu tiên tiếp tục từ dòng 4 và tiếp tục. Nó giống như nhiều chủ đề đang gọi phương thức hành động này, nhưng theo như tôi có thể thấy không có gì sắp xếp xảy ra bởi vì tất cả những gì tôi làm để có được điều này xảy ra là bấm vào một liên kết. Có lý do nào tại sao điều này xảy ra không?Phương pháp hành động được gọi nhiều lần

CẬP NHẬT

Trên thực tế, sau khi thực hiện phân tích, tôi có thể thấy rằng nó là 2 cuộc gọi đang được thực hiện.

+1

Wow, thật là điên rồ. Bạn đã thực sự nhìn thấy từng cuộc gọi riêng biệt trong Fiddler chưa? –

+1

Điều đó nghe có vẻ rất kỳ lạ. Bạn có thể gửi mã không? –

+0

"Liên kết" mà bạn đang nhấp là gì? Có một gửi xảy ra? –

Trả lời

4

Đối với bất cứ ai quan tâm, đây là thủ phạm

<div class="listing-holder" onclick="window.location='/Lot/Details/@auction.Id'"> 
    <a href="/Lot/Details/@auction.Id"><img src="@auctionLineModel.ImageUrl" alt="auction Image"/></a> 
    ... 
</div> 

Như bạn có thể thấy có một onclick trên div và a href. Cả hai đều được gọi. Doh!