ASP.NET MVC2应用程序在Ajax调用中丢失jquery ui按钮主题
我正在编写一个使用jquery主题的ASP.NETMVC2应用程序。我有一个使用Ajax调用更新的局部视图。重新渲染局部视图时,按钮将丢失其jquery主题。我尝试使用“onComplete”函数重新设置它们的样式,但没有成功 母版页中的JS函数: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调用更新视图时,它
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。