我正在尝试使用umbraco(在母版页内)更新剃刀宏指令。我正在做的是使用ajax请求具有特定信息的web服务,获得答案,并希望使用从ajax-request到webservice获得的更新答案来更新razorscript中呈现的HTML。在javascript中,我尝试部分回发更新面板的异步更新。
我有以下代码
母版:
<asp:ScriptManager runat="server" ID="ScriptManager"/>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<umbraco:Macro Alias="Macro1" runat="server"></umbraco:Macro>
</ContentTemplate>
</asp:UpdatePanel>
使用Javascript:
$__doPostBack('UpdatePanel1', '');
首先,是否真的可以管理这个?我可以通过javascript访问UpdatePanel吗?第二,这是最好的方法吗?如果没有,我可以用什么方式更有效地做到这一点。
编辑:
Ajax请求代码:
$.ajax({
type: "POST",
cache: false,
url: "/Handlers/Handler.ashx",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
//Here i want to update the UpdatePanel, if possible
},
error: function () {
}
});
此致 大卫
答案 0 :(得分:1)
在每次webservice请求后重新加载页面暂时解决它。仍然想知道是否有可能通过将其放入UpdatePanel来更新宏并调用它。
答案 1 :(得分:0)
如果您已经在使用Web服务,那么在ajax请求的回调中直接使用javascript更新HTML。 jQuery在这方面做得很好,但根据复杂程度,您可能希望使用提供某些模板的框架,例如Knockout,Handlebars.js或mustache,或者Ember.js
更新面板非常方便,但我不认为可以按照您尝试的方式使用它们。 ASP.Net控件和剃须刀混合不好。