Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
在asp.net中使用Ajax加载PartialView_Ajax_Asp.net Mvc 2_Partial Views - Fatal编程技术网

在asp.net中使用Ajax加载PartialView

在asp.net中使用Ajax加载PartialView,ajax,asp.net-mvc-2,partial-views,Ajax,Asp.net Mvc 2,Partial Views,我在使用PartialView和Ajax时遇到问题。我使用custim助手创建带有Ajax属性的Imagelink(在internet上找到) 问题是,当我单击图像时,它会在targetDiv中呈现相同的页面,而不是他应该加载的PartialView 这是我的密码: 视图中的更新函数 Create函数 Create.ascx(不在共享中) m、 Link.Url)%> m、 Link.Url)%> m、 Link.Url)%> m、 链接.说明)%> m、 链接.说明)%> m、 链接.说明)

我在使用PartialView和Ajax时遇到问题。我使用custim助手创建带有Ajax属性的Imagelink(在internet上找到)

问题是,当我单击图像时,它会在targetDiv中呈现相同的页面,而不是他应该加载的PartialView

这是我的密码:

视图中的更新函数

Create函数

Create.ascx(不在共享中)


m、 Link.Url)%>
m、 Link.Url)%>
m、 Link.Url)%>
m、 链接.说明)%>
m、 链接.说明)%>
m、 链接.说明)%>

请帮帮我,我已经找了几个小时的好办法了

您可能还需要参考
MicrosoftAjax.js

<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

现在,您可以删除
updateTarget
函数,因为它不是必需的。

更新可以在不成功的情况下工作,但我仍然没有获得PartialView Create.ascx,而是在targetDiv中插入了相同的页面。@Myst3ric,当您使用FireBug调试AJAX时,服务器会发送什么作为响应?它发送的是部分HTML还是整个页面?FireBug说data.get_updateTargetGet()不是函数。我在更新视图的函数中使用它
<tr>
            <td><div id="create"></div></td>
            <td></td>
            <td></td>
        </tr>

        <% if (10 < 20) {%>
            <tr>
                <td><%= Ajax.ImageActionLink("/Content/Images/add_link.png","Add a new link", "Create", new AjaxOptions() { OnSuccess = "updateTarget", UpdateTargetId = "create" })%></td>
                <td></td>
                <td></td>
            </tr>
        <% } %>
public static string ImageActionLink(this AjaxHelper helper, string imageUrl, string altText, string actionName, AjaxOptions ajaxOptions)
        {
            //Creates the image
            var builder = new TagBuilder("img");
            builder.MergeAttribute("src", imageUrl);
            builder.MergeAttribute("alt", altText);
            builder.MergeAttribute("height", "24");
            builder.MergeAttribute("width", "24");

            //Creates the link
            var link = helper.ActionLink("[replaceme]", actionName, ajaxOptions);
            return link.ToString().Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing));
        }
public ActionResult Create()
        {
            return PartialView("Create");
        }
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyLinks.ViewModels.LinkViewModel>" %>

<% Html.EnableClientValidation(); %>

<% using (Html.BeginForm()) {%>

        <div class="editor-label">
            <%: Html.LabelFor(m => m.Link.Url) %>
        </div>
        <div class="editor-field">
            <%: Html.TextAreaFor(m => m.Link.Url) %>
            <%: Html.ValidationMessageFor(m => m.Link.Url) %>
        </div>

        <div class="editor-label">
            <%: Html.LabelFor(m => m.Link.Description) %>
        </div>
        <div class="editor-field">
            <%: Html.TextAreaFor(m => m.Link.Description)%>
            <%: Html.ValidationMessageFor(m => m.Link.Description)%>
        </div>

        <a href="javascript:document.form_name.submit();"><img src="/Content/Images/confirm_link.png" alt="Accept this link"/></a>

<% } %>
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
<%= Ajax.ImageActionLink(
    Url.Content("~/Content/Images/add_link.png"),
    "Add a new link", 
    "Create", 
    new AjaxOptions { 
        UpdateTargetId = "create", 
        InsertionMode = InsertionMode.InsertAfter 
    }
) %>