C# 如何在jQuery ajax上设置UpdateTargetId

C# 如何在jQuery ajax上设置UpdateTargetId,c#,jquery,asp.net-mvc-3,C#,Jquery,Asp.net Mvc 3,我想使用ajax渲染局部视图。 提交按钮时,必须呈现局部视图。 我可以使用ActionLink实现它,但我想通过JavaScript调用该操作。 但是下面的代码不起作用。已调用该操作,但不呈现局部视图。 查看 @section script{ <script type="text/javascript"> function test() { $.ajax( { type: "POST", url:

我想使用ajax渲染局部视图。
提交按钮时,必须呈现局部视图。
我可以使用ActionLink实现它,但我想通过JavaScript调用该操作。
但是下面的代码不起作用。已调用该操作,但不呈现局部视图。

查看

@section script{
<script type="text/javascript">
    function test() {
        $.ajax(
        {
            type: "POST",
            url: "Test",
            data: "",
            success: function (result) { alert("OK!!"); },
            error: function (req, status, error) {
                alert("Damn!!");}
        });


    }
</script>
}

<input type="submit" onclick="test()" />
<div id="Container">
局部视图用户控制1

Hello world
这很有效,但不是我想做的

@Ajax.ActionLink("click me", "Test", new AjaxOptions { UpdateTargetId = "Container" })

您的url可能不正确。它取决于您的路由设置 在Global.asax中定义。但通常你的url应该是 “/Home/Test”如果您的操作在HomeController中。最好用 用于获取操作url的url帮助程序:

...
url: '@Url.Action("Test", "Home")'
...
您可以使用下一种方式渲染局部图像:

...
success: function (result) { $('#elementId').html(result) },
...

另外,如果您想更新块,请不要忘记首先清除它,如果它包含带有不引人注目的验证的表单-解析表单。

我指定了URL,如:URL:“./Controller/Action/{id}”,这太棒了!现在,我可以在MVC中为我的复选框将UpdateTargetID传递给Javascript函数。我只需要在UpdateTargetID前面加上一个磅符号,就像您现在在这里做的那样,当用户选中一个框时,我可以立即更新单独div容器中的列表。
...
success: function (result) { $('#elementId').html(result) },
...