Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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 MVC2应用程序在Ajax调用中丢失jquery ui按钮主题_Jquery_Asp.net Mvc - Fatal编程技术网

ASP.NET MVC2应用程序在Ajax调用中丢失jquery ui按钮主题

ASP.NET MVC2应用程序在Ajax调用中丢失jquery ui按钮主题,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我正在编写一个使用jquery主题的ASP.NETMVC2应用程序。我有一个使用Ajax调用更新的局部视图。重新渲染局部视图时,按钮将丢失其jquery主题。我尝试使用“onComplete”函数重新设置它们的样式,但没有成功 母版页中的JS函数: function styleControls() { $("input:submit, button").button(); } 局部视图。“提交”按钮在加载时可以正确设置样式,但当Ajax调用更新视图时,它

我正在编写一个使用jquery主题的ASP.NETMVC2应用程序。我有一个使用Ajax调用更新的局部视图。重新渲染局部视图时,按钮将丢失其jquery主题。我尝试使用“onComplete”函数重新设置它们的样式,但没有成功

母版页中的JS函数:

function styleControls() {
            $("input:submit, button").button();
        }
局部视图。“提交”按钮在加载时可以正确设置样式,但当Ajax调用更新视图时,它不会设置样式

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MVCBugTracker.ViewModels.ProjectPriorityViewModel>" %>
<div id="priorities">
    <% if (Model.Priorities.Count > 0)
       { %>
    <table id="priority-table">
        <tr>
            <th>
            </th>
            <th>
                Priorities
            </th>
            <th>
                Image
            </th>
        </tr>
        <% foreach (var item in Model.Priorities)
           { %><tr id="#row-<%: item.PriorityID %>">
               <td>
                   <%: Ajax.ActionLink("Delete", "DeletePriority", new { id = item.PriorityID }, new AjaxOptions { UpdateTargetId = "priorities", OnFailure = "handleFailure", OnComplete="styleControls", Confirm = "Are you sure you want to delete this Priority?" })%>
               </td>
               <td>
                   <%: item.Name%>
               </td>
               <td style="text-align: center;">
                   <img src="<%: ResolveUrl(item.ImageUrl) %>" alt="" />
               </td>
           </tr>
        <% } %>
    </table>
    <% } %>
    <% using (Ajax.BeginForm("AddPriority", "Project", new { id = Model.ProjectID }, new AjaxOptions { UpdateTargetId = "priorities", OnFailure = "handleFailure", OnComplete = "styleControls" }))
       { %>
    <p>
        <label for="name">
            Priority Name:</label>
        <%: Html.TextBox("priorityname", "")%></p>
    <p>
        <% int count = 0;
           foreach (string s in Model.ImagesUrls)
           {%>
            <input type="radio" name="imageurl" value="<%: s %>" <%= count == 0 ? "checked=\"checked\"" : "" %> /><img src="<%: ResolveUrl(s) %>" alt="" />
        <% count++;
           } %>
    </p>
    <p>
        <input type="submit" value="Submit" /></p>
    <% } %>
    <span id="priority-message" class="field-validation-error">
        <% if (Model.Message != null)
           { %>
        <%: Model.Message%>
        <% } %>
    </span>
</div>

0)
{ %>
优先事项
形象
“alt=”“/>

优先权名称:

“alt=”“/>


部分视图位于jquery选项卡内。

您的代码是否调用过onComplete函数?如果使用Firebug,您可以使用调试器关键字停止脚本并调用调试器

打开Firebug窗口并将其放入函数中:

$.onComplete(function(){
   debugger;  
});

我想出来了。需要使用onSuccess函数而不是onComplete。onComplete在ajax调用后调用。onSuccess在ajax调用返回并更新html后调用。

您可以显示一些代码吗?是的,它调用onComplete函数,但不更改按钮UI。