如何从C#调用Jquery函数
我想在执行一些代码后淡出和删除div。 使用按钮的onclientclick属性时,此JQuery函数正常工作。 但是,无法从c#中调用它。
JS:
function Confirm() { $(".saved").fadeIn(500).fadeOut(500); }
C#:
protected void btnsave_click(object sender, Eventargs e) { //some code upd.update(); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Confirm", "Confirm();", true); }
HTML:
Record Saved
CSS:
.saved { position:absolute; background:green; margin:0 auto; width:100px; height:30px; visibility:hidden; }
C#
protected void btn_click(object sender, Eventargs e) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "Confirm();", true); }
JS:
编辑改进代码
C#
protected void btn_click(object sender, Eventargs e) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "Confirm();", true); }
JS:
使用异步回发时,很好地理解您可以在客户端实际处理的事件(aspx文件)。
如果你想在异步回发后执行一些客户端函数(jquery,javascript),我建议在客户端使用pageLoaded
事件。 所以你的javascript将如下所示:
function pageLoad(sender, args) { $(".saved").fadeIn(500).fadeOut(500); }
有关更多信息,请参阅“常见方案的事件顺序”部分中的此 MSDN页面。
希望这可以帮助
在评论后编辑以添加filter示例
要根据引发事件的元素过滤pageLoad
事件中的逻辑,如本 MSDN页面中所述,在Animating Panels部分,您可以执行以下操作:
var postbackElement; function beginRequest(sender, args) { postbackElement = args.get_postBackElement(); } function pageLoaded(sender, args) { if (typeof(postbackElement) === "undefined") { return; } else if (postbackElement.id.toLowerCase().indexOf('btnsave') > -1) { $(".saved").fadeIn(500).fadeOut(500); } }
试试这个…
ClientScript.RegisterClientScriptBlock(this.GetType(), "script", "Confirm();", true);
- jQuery DatePicker:当日期字段为12-31-9999时,currentDate不起作用
- 如何在后端使用ASP.NET + JSON使jqGrid工作?
- JQuery UI Dialog&Asp(Web表单)调用事件处理程序
- 使用asp.net的jqueryvalidation器
- mmenu菜单系统无法在.Net表单标签内工作
- JQuery Mobile与MVC的链接
- 执行回发时,jQuery UI DatePicker值丢失的ASP.NET文本框
- 当第一次进入项目的安排是好的,但如果我刷新它会搞砸
- 使用JQuery .ajax时,使用jquery’json’vs’text’时不会调用Success方法