Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery函数的Ajax回调_Ajax_Jquery_Asp.net Mvc 4_Asp.net Ajax - Fatal编程技术网

jquery函数的Ajax回调

jquery函数的Ajax回调,ajax,jquery,asp.net-mvc-4,asp.net-ajax,Ajax,Jquery,Asp.net Mvc 4,Asp.net Ajax,我正在从事一个ASP.NETMVC4项目,它是一种评估工具。 在我的同事视图中,我正在用从数据库请求的数据填充一个数据表。 在第一列中,我显示姓名,在第二列中,我显示指向他们个人文件的链接。 该视图位于名为“PersoonlijkeFichePartial”的分部中,因此当我单击datatable中的链接时,它必须在datatable下的div中打开分部。我通过一个ajax调用来实现这一点。 但是我发现result div是空的,我不想在我的视图中看到它,所以我使用jquery。 现在的问题是,

我正在从事一个ASP.NETMVC4项目,它是一种评估工具。 在我的同事视图中,我正在用从数据库请求的数据填充一个数据表。 在第一列中,我显示姓名,在第二列中,我显示指向他们个人文件的链接。 该视图位于名为“PersoonlijkeFichePartial”的分部中,因此当我单击datatable中的链接时,它必须在datatable下的div中打开分部。我通过一个ajax调用来实现这一点。 但是我发现result div是空的,我不想在我的视图中看到它,所以我使用jquery。 现在的问题是,当我点击datatable中的链接(使用ajax调用)时,result div不会显示出来(我需要某种回调?)

编辑 不需要我发布我的控制器操作,如果我剪切隐藏结果div的jquery代码,则部分视图是可见的(当我单击ofc表中的链接时),但我需要代码来隐藏该div,因此在任何人单击我表中的链接之前都不存在

代码如下:

<div class="ContentDiv">
    <table id="table_id" class="display">
        <thead>
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.Naam)
                </th>
                <th>Persoonlijke Fiche
                </th>
                <th>Functiebeschrijving
                </th>
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                    @Html.DisplayFor(modelItem => item.Naam)
                    <td>
                        @Ajax.ActionLink("Persoonlijke Fiche", "PersoonlijkeFichePartial", new { account = item.Account }, new AjaxOptions { UpdateTargetId = "result"})
                    </td>
                    <td>
                        @Html.ActionLink("Functiebeschrijving", "Details", new { account = item.Account })
                    </td>
                </tr>
            }
        </tbody>
    </table>
</div>
<div id="generate" class="ContentDiv">
    <div id="result"></div>
</div>



@section scripts {
    <script type="text/javascript" src="~/Scripts/jquery.dataTables.js"></script>
    <script>
        $(document).ready(function () {
            $('#table_id').dataTable({
                "aoColumns": [{ "bSortable": true }, { "bSortable": false }, {     "bSortable": false }]
            }
                );
        });
        $(function () {
            if ($("div#result").html() == "") {
                $("div#generate").hide();
            }
        });
    </script>
}

@DisplayNameFor(model=>model.Naam)
潘索利克菲什
Functiebeschrijving
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.Naam)
@ActionLink(“persoonlijkefiche”、“PersoonlijkeFichePartial”、新的{account=item.account}、新的AjaxOptions{UpdateTargetId=“result”})
@ActionLink(“Functiebeschrijving”,“Details”,new{account=item.account})
}
@节脚本{
$(文档).ready(函数(){
$('#表_id')。数据表({
“aoColumns”:[{“bSortable”:true},{“bSortable”:false},{“bSortable”:false}]
}
);
});
$(函数(){
if($(“div#result”).html()=“”){
$(“div#generate”).hide();
}
});
}

试着像这样编辑代码:

<script>
        $(document).ready(function () {
            $('#table_id').dataTable({
                "aoColumns": [{ "bSortable": true }, { "bSortable": false }, {     "bSortable": false }]
            });
            toggleResultDiv()
        });

        function toggleResultDiv() {
            if ($("div#result").html() == "") {
                $("div#generate").hide();
            }
            else $("div#generate").show();
        }
    </script>
@Ajax.ActionLink("Persoonlijke Fiche", "PersoonlijkeFichePartial", new { account = item.Account }, new AjaxOptions { UpdateTargetId = "result", OnSuccess = "toggleResultDiv"})

您需要调用显示或隐藏div的函数。在您的情况下,该函数只调用一次,并且始终隐藏
div#generate

尝试如下编辑代码:

<script>
        $(document).ready(function () {
            $('#table_id').dataTable({
                "aoColumns": [{ "bSortable": true }, { "bSortable": false }, {     "bSortable": false }]
            });
            toggleResultDiv()
        });

        function toggleResultDiv() {
            if ($("div#result").html() == "") {
                $("div#generate").hide();
            }
            else $("div#generate").show();
        }
    </script>
@Ajax.ActionLink("Persoonlijke Fiche", "PersoonlijkeFichePartial", new { account = item.Account }, new AjaxOptions { UpdateTargetId = "result", OnSuccess = "toggleResultDiv"})

你需要调用显示或隐藏div的函数。在你的例子中,它只被调用一次,并且总是隐藏
div#generate

是我还是asp.net真的把简单的东西弄得一团糟?是我还是asp.net真的把简单的东西弄得一团糟?