這篇文章主要介紹了Asp.net自定義控件中加載層的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計、網(wǎng)站制作、商城網(wǎng)站建設(shè)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)建站的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。先來看看效果:
1.在靜態(tài)頁面里開發(fā)好想要的效果
jQuery.extend({ openloading: function (options) { var defaults = { msg: '數(shù)據(jù)提交中...', img: 'loading.gif' }; var opts = $.extend(defaults, options); $("body").append(""); var h = $(document).height(); $(".l_overlay").css({ "height": h, 'display': 'block', 'opacity': '0.4' }); $(".l_showbox").stop(true).animate({ 'margin-top': (h / 2 - 58) + 'px', 'opacity': '1' }, 200); }, closeloading: function () { $(".l_showbox").stop(true).animate({ 'margin-top': '250px', 'opacity': '0' }, 400); $(".l_overlay").css({ 'display': 'none', 'opacity': '0' }); $(".l_overlay").remove(); $(".l_showbox").remove(); } });數(shù)據(jù)提交中...
2.vs新建類庫,新建類繼承于WebControl
添加屬性:
[Description("獲取和設(shè)置觸發(fā)器ID"), DefaultValue(""), Browsable(true), Category("雜項")]
public string TargetID { get; set; }
重寫OnPreRender方法。方法中注冊js腳本,該腳本指示ID為TargetID的控件點(diǎn)擊時顯示加載層
protected override void OnPreRender(EventArgs e) { if (Page != null && !string.IsNullOrEmpty(TargetID)) { TargetID = GetClientID(TargetID); Page.ClientScript.RegisterClientScriptResource(typeof(Loading), "BoControl.Scripts.Jquery.js"); this.Page.ClientScript.RegisterStartupScript(typeof(string), "BoControl_" + this.ClientID, "$(\"#" + TargetID + "\").on(\"click\",function(){$.openloading({msg:\"" + Text + "\", img: \"" +Page.ClientScript.GetWebResourceUrl(this.GetType(), "BoControl.Images.loading.gif")+ "\"});});", true); } base.OnPreRender(e); }
OnPreRender方法中
Page.ClientScript.RegisterClientScriptResource(typeof(Loading), "BoControl.Scripts.Jquery.js");注冊JQuery
Page.ClientScript.GetWebResourceUrl(this.GetType(), "BoControl.Images.loading.gif");是獲取Web資源文件路徑,如果你不想把圖片文件嵌入dll請改為真實路徑(如:Images/Loading.gif),相反你需要像下面一樣指明圖片文件和JQuery文件,并且圖片屬性-生成操作為:嵌入的資源
[assembly: WebResource("BoControl.Images.loading.gif", "image/gif")]//這里你還需注冊JQuery
namespace BoControl
{
你還需要寫Open方法和Close方法,方便后臺代碼中調(diào)用。
如:
////// 打開加載動畫 /// UpdatePanel注冊 /// /// UpdatePanel對象 public void Open(UpdatePanel panel) { if (Page != null) { ScriptManager.RegisterStartupScript(panel, panel.GetType(), "openloading", "$.openloading({msg:\"" + Text + "\", img: \"" + Page.ClientScript.GetWebResourceUrl(this.GetType(), "BoControl.Images.loading.gif"); + "\"});", true); } }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Asp.net自定義控件中加載層的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!