在ASP.NET MVC中,JavaScript函数不会在部分视图中触发

时间:2014-07-24 11:51:40

标签: javascript jquery asp.net-mvc asp.net-mvc-4

我在部分页面中添加了一些javascript功能。但它并没有解雇。需要帮助。

提前致谢

@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 :(得分: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();
    });
});

谢谢!

答案 1 :(得分:2)

您正在关闭脚本标记后关闭doc doc block并且您缺少);

<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>