2017-02-28 1 views
0

Visual Studio 15 학교용 전자 상거래 웹 사이트를 만들고 있습니다. jQuery와 처리기를 사용하여 데이터베이스에서 검색 한 제품을 표시하고 있습니다. 이렇게하면 <script> 태그 안에 쓴 쇼핑 카트 클래스에서 메소드를 호출하는 방법을 알 수 없습니다. 각 제품이 버튼이있다 : 내 방법 Add(itemID) 전화를 각 버튼에 클릭 이벤트를 바인딩하기 위해 노력하고있어jQuery/JavaScript에서 사용자 정의 클래스 메서드 호출

<button type=\"button\" data-itemID=\"" + dt.Rows[i]["itemID"] + 
         "\" class=\"btnAddItem\">Add To Cart</button> 

을, 난 그냥 C#을 사용 그것을 쉽게 많이 할 수 이해하지만 난 이미 내 jQuery를하고 쓴 매니저.

답변

0

당신은 같은 것을 할 수있는 :

$("button.btnAddItem").on('click', function(){ 
     Add($(this).attr('data-itemID'); 
    }); 

JQuery와 선택기 ($에있는 것은()) 클래스 "btnAddItem"모든 버튼과 일치하고 한 번 클릭, 호출하는 익명 함수를 발생 클릭 한 단추를 data-itemID 특성과 함께 추가()하십시오. 익명 기능을 사용하지 않고도이 작업을 수행 할 수 있습니다.

function buttonClickHandler(event){ 
     Add($(this).attr('data-itemID')); 
    }; 

    $("button.newAddItem").on('click', buttonClickHandler); 

희망 사항.

0

Add(itemId)은 C#에서 Controller라는 Home으로 작성되었습니다.

class Home : Controller { 
    public ActionResult Add(string itemId) //... 
} 

컨트롤러의 모든 항목은 기본적으로 GET 및 POST http 요청에 매핑됩니다.

$.get("/Home/Add" , {itemId: "test"} ,function(data) { 
    $(".result").html(data); 
    alert("Add was performed."); 
}); 

또는 POST로를 : 그래서 당신이 할 수있는 무엇과 같이 GET와 jQuery를에서 메소드를 호출 지금

var responce = $.post("/Home/Add", 
{ 
    itemId: "test", 
}, 
function() { 
    console.log(responce); 
    ... 
}); 

및 버튼 이벤트에 연결하는 경우에 JQuery와 방법을 사용할 수 있습니다 스크립트 :

$("button.addItemButton").on('click', function() 
{ 
    var responce = $.post("/Home/Add", ///rest of the code... 
}); 
+0

내 방법은 컨트롤러가 아니라 내 쇼핑 바구니 클래스 안에 있습니다. 난 그냥 jQuery를 스크랩하고 C#에서 모두 할 수 있습니다 # –

+0

C# 태그를 사용하여 다음, 누락되었습니다 행운을 빌어 요. –

+0

클래스는 C#으로 작성 되었습니까? –

관련 문제