2011-03-16 80 views
0

我一直沒有找到任何解決此問題的好方法,所以我需要som幫助。asp.net pagemethod調用,使用jquery,返回錯誤狀態500

我有一個PageMethod,我需要調用jQuery。客戶端代碼如下所示:

<script type="text/javascript"> 
    $(function() { 
     $("#MainContent_ddl_antal").change(function() { 
      var selectedvalue = $(this).val(); 
      //alert(selectedvalue); 
      $.ajax({ 
       type: "POST", 
       url: "betaling.aspx/GetTotPrice", 
       data: "{'antal':" + selectedvalue + "}", 

       //data: JSON.stringify({ antal: selectedvalue }), 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (msg) { 
        // Set label text to method's return. 
        alert(msg.d); 
        $('#<%= lbl_totpris.ClientID %>').html(msg.d); 
       }, 
       error: function (error) { 
        alert(error.status); 
       } 
      }); 

     }); 
    }); 

</script> 

和代碼隱藏PageMethod的是這樣的:

[WebMethod] 
public static double GetTotPrice(int antal) 
{ 
    double totpris = 0; 
    Product _product = Product.GetProductByDate(DateTime.Today); 

    if (_product != null) 
    { 
     totpris = _product.ProductNuPris * antal; 
    } 
    return totpris; 
} 

調用返回一個錯誤500。我看不到這樣做的原因。

+0

您是否能夠在調試器中運行您的webmethod以確保它正在調用並返回值? – Geoff 2011-03-16 10:58:27

+0

你有試過調​​試嗎?也許傳給'antal'的值不是整數。 – TheVillageIdiot 2011-03-16 10:59:52

回答

0

請檢查你在這裏得到:var selectedvalue = $(this).val();我認爲這是不返回整數值。我曾嘗試你的代碼下面的列表,它工作正常:

<select id="testList"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
</select> 

[WebMethod] 
public static double GetTotPrice(int antal) 
{ 
    return 5.0 * antal; 
} 

如果從選擇列表中的值是正確的,那麼這條線可能會導致問題:

Product _product = Product.GetProductByDate(DateTime.Today); 

請儘量使用Visual調試運行一次Studio和FireBug(Firefox)。

+0

我試過提醒var selectedvalue = $(this).val();,它會寫入我在DDL中選擇的數字。即使我註釋掉「Product _product = Product.GetProductByDate(DateTime.Today); 」並使用硬編碼數字,我也會收到錯誤消息。我現在試着寫alert(errorThrown);它給了我一個[object XMLHttpRequest]錯誤。我是否正確地將參數傳遞給PageMethod?你在測試中如何稱呼該方法? – Soeren 2011-03-16 12:18:48

+0

@Soeren我只是在下拉菜單中更改了vlaue,請嘗試在Web方法中放置斷點並對其進行調試。 – TheVillageIdiot 2011-03-16 12:49:04

相關問題