2014-07-24 102 views
2

我在部分頁面中添加了一些javascript函數。但它並沒有解僱。需要幫忙。JavaScript函數不在部分視圖中觸發ASP.NET MVC

在此先感謝

@section scripts { 
<script type="text/javascript"> 
$(document).ready(function() { 


    $('#btn').click(function (event) { 
     alert("Hi"); 
     var filterstring = $('#txtCode').val(); 
     $.get("/Test/Details?filterstring=" + $('#txtCode').val() + "", function (data) { 
      var getHTML = $(data); 
      $('#WebGrid').empty(); 
      $('#WebGrid').html($('#WebGrid', getHTML)); 
      ChkAddClass(); 
     }); 
    }); 


</script> 
    } 
+2

將它放在主視圖中並檢查 –

+0

您是否正在通過AJAX調整局部視圖? – Saranga

+0

是使用@ Ajax.ActionLink()@Saranga –

回答

3

這是不可能使用sections in a partial view,你必須移動此腳本以主視圖或使用自定義幫助器。

而且由於您使用AJAX,您必須使用委託事件來附加事件處理程序。

請閱讀直接和委託事件部分.on()

$(document).on('click', '#btn', function(){ 
    alert("Hi"); 
    var filterstring = $('#txtCode').val(); 
    $.get("/Test/Details?filterstring=" + $('#txtCode').val() + "", function (data) { 
     var getHTML = $(data); 
     $('#WebGrid').empty(); 
     $('#WebGrid').html($('#WebGrid', getHTML)); 
     ChkAddClass(); 
    }); 
}); 

謝謝!

+0

我嘗試過那樣。但它不工作。即使在頁面源中,我也沒有找到我的JavaScript。 –

+0

在部分視圖中使用部分是不可能的,我更新了我的答案。 – Saranga

2

你關閉你的文檔準備好塊的結束腳本標籤後你缺少);

<script type="text/javascript"> 
$(document).ready(function() { 


    $('#btn').click(function (event) { 
     alert("Hi"); 
     var filterstring = $('#txtCode').val(); 
     $.get("/Test/Details?filterstring=" + $('#txtCode').val() + "", function (data) { 
      var getHTML = $(data); 
      $('#WebGrid').empty(); 
      $('#WebGrid').html($('#WebGrid', getHTML)); 
      ChkAddClass(); 
     }); 
    }); 

}); 
</script> 
+0

這是我第一次想到大聲笑。 – Tony