zoukankan      html  css  js  c++  java
  • UpdatePanel 弹出提示的几种方法

    <asp:UpdatePanel runat="server" ID="p1">
    *.cs:
    Microsoft.Web.UI.ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);

    在ASP.NET的UpdatePanel中不能使用Response.write("")了,感觉不是很方便。
    那就用UpdatePanel支持的方法吧!

    this.ClientScript.RegisterClientScriptBlock(this.GetType(),"a","alert('ok!');",true);
     
    for 1.0

    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "click", "alert('ok')", true);
    System.Web.UI.ScriptManager.RegisterStartupScript(Button1, this.GetType(), "click", "alert('ok')", true);
               


     关于updatepanel中注册执行javascript

        好些天都在糊里糊涂,最近也比较懒,居然看到了个留言,永远不更新的博客一等奖,相当尴尬,哈哈。写一些最近自己或别人遇到的小问题吧。
        1、关于updatepanel注册js
        最近在项目里需要用到altas,本人也是新手,老用最简单的updatepanel,在注册脚本时也遇到了困难,无法注册。本来是在 updatepanel中放了一个gridview,偶想在girdview中一个模板列点击弹出一个窗体,注册window.open()来解决问题。本来不是在updatepanel中,所以用ClientScript.RegisterStartupScript直接注册挺好使。
        在拖入updatepanel后发现无法注册脚本,想想RegisterStartupScript本来是在页面加载时启动js的,在updatepanel中部分刷新,肯定是无法注册的。
        后来发现了ScriptManager.RegisterStartupScript方法,挺好使,呵呵。
        ScriptManager.RegisterClientScriptBlock(UpdatePanelName, typeof(UpdatePanel), "标识key", "脚本", true);
        下面是一个demo,模板列定义如下:

    <asp:TemplateField HeaderText="客户ID">
         <ItemTemplate>           
           <asp:LinkButton ID="linkbtnCID"  runat="server"  Text='<%# Eval("CID") %>' CommandName="linkbtnCID"   >                      </asp:LinkButton>
          </ItemTemplate>
    </asp:TemplateField>
      
        在GridView对应的RowCommand事件中如下操作:

    protected void gvClientInfo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            //如果是linkButton被点击
            if(e.CommandName.Equals("linkbtnCID"))
            {
                LinkButton lbtn = (LinkButton)e.CommandSource;
                GridViewRow dgRow = (GridViewRow)lbtn.Parent.Parent;
                string tmpText = lbtn.Text.ToString();         
                tmpText ="window.open('customerDetailsInfo.aspx?CID=" + tmpText + "' ,'newwindow','height=550,
                    width=700, menubar=no ')";
                ScriptManager.RegisterStartupScript(this.UpdatePanel2, this.GetType(), "click", tmpText, true);     
         
            }
        }

        2、关于RegisterStartupScript,RegisterClientScriptBlock
            RegisterStartupScript 将 js嵌入到页面的底部,</form> 的前面
            RegisterClientScriptBlock 将 js嵌入到页面中开启元素 <form> 后面

        3、关于“该行已经属于另一个表”错误
           这个问是出现在不同dataTable之间的行复制出现的问题。
           看这个代码:
          
     DataTable tmpdt = sodo.getDataTable("text", strSql, sp);            
     dt.Rows.Add(tmpdt.Rows[0]);
       
         这个明显的错误就是tmpdt的行是一个对象引用,相当于一个指针,错误是难免的,可有以下解决办法:

    DataTable tmpdt = sodo.getDataTable("text", strSql, sp);            
    1、 dt.Rows.Add(tmpdt.Rows[0].ItemArray);
    2、 dt.ImportRow(tmpdt.Rows[0]);
  • 相关阅读:
    Android开发 View_自定义快速索引侧边栏 SideBarView
    Android开发 PopupWindow开发的一些例子
    Android开发 Fragment里监听返回键
    AndroidStudio 清除项目里无用的资源
    Android开发 SingleLiveEvent解决LiveData或者MutableLiveData多次回调的问题
    字母排列城市列表资源
    Android开发 GridView详解
    Android开发 NestedScrollView嵌套RecyclerView导致的UI加载慢的问题
    Android开发 跳转指定应用商城评分
    Android开发 Activity生命周期详解
  • 原文地址:https://www.cnblogs.com/hakuci/p/1185935.html
Copyright © 2011-2022 走看看