Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 在Javascript中复制Html.ActionLink的结果_Jquery_Asp.net Mvc_Modal Dialog_Partial Views - Fatal编程技术网

Jquery 在Javascript中复制Html.ActionLink的结果

Jquery 在Javascript中复制Html.ActionLink的结果,jquery,asp.net-mvc,modal-dialog,partial-views,Jquery,Asp.net Mvc,Modal Dialog,Partial Views,我有以下代码在MVC视图中显示模式对话框: @Html.ActionLink("View Insurance", "ViewInsurance", "Home", null, new { @class = "modal-link" }) 当我单击链接时,它会正确地从我的控制器中调出PartialView。控制器代码如下: public ActionResult ViewInsurance() { InsuranceViewModel vm = new InsuranceViewMode

我有以下代码在MVC视图中显示模式对话框:

@Html.ActionLink("View Insurance", "ViewInsurance", "Home", null, new { @class = "modal-link" })
当我单击链接时,它会正确地从我的控制器中调出PartialView。控制器代码如下:

public ActionResult ViewInsurance()
{
    InsuranceViewModel vm = new InsuranceViewModel();
    vm.Name = "Medicare";
    return PartialView("_Insurance", vm);
}
但是,我需要通过Javascript打开相同的对话框。我需要动态更改输入值(作为控制器参数)以在对话框中显示不同的数据。我在这个例子中省略了这一点,因为它只会使问题复杂化

我创建了一个按钮来调用Javascript,我想做与ActionLink相同的事情。这是代码:

<input type="button" name="style-a1" id="style-a1" value="View Insurance from Javascript" onclick="ViewInsuranceThroughJavascript()">

以下是页面上关联的Javascript:

<script>
    function ViewInsuranceThroughJavascript() {
        $.ajax({
            url: '@Url.Action("ViewInsurance", "Home")',
            success: function (data) {
                alert("Success");
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.responseText);
            }
        });
    }
</script>

函数ViewInsuranceThroughJavascript(){
$.ajax({
url:'@url.Action(“查看保险”、“主页”),
成功:功能(数据){
警惕(“成功”);
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(xhr.responseText);
}
});
}
结果是,当使用ActionLink时,模式对话框显示得很好。当对所有控制器使用javascript时,会命中控制器操作,但不会显示对话框。我已经对它进行了黑客攻击,向ActionLink添加了一个ID,然后让我的Javascript调用该对象的onClick方法,该方法将模拟ActionLink的点击(works)。然而,我确实需要最终更改一个输入参数,以使该方法不起作用

有人有什么建议吗?我看过一篇关于jQuery不能显示PartialView的帖子。我必须做些事情来模拟ActionLink点击中发生的事情


谢谢。

您需要将该方法返回的html添加到成功回调中的DOM中-
success:function(data){$(someElement).html(data);}
这确实有帮助,但格式已丢失。你知道如何通过ajaxpost传递htmlAttributes(类似于ActionLink):new{@class=“modallink”})通过post传递类信息是什么意思?(这毫无意义)。我猜你的意思是在按钮中添加一个类名,它只是
是的,谢谢。非常感谢。