在datagrid中的某一列中我加入一个模板列,在此模板列中加入一个超级联接<asp:HyperLink id="HyperLink2" runat="server" >退职</asp:HyperLink>当点击此联接时会弹出一个消息框“工事中、、、 、、、” 这样的功能如何去实现?
谢谢了,急需

解决方案 »

  1.   

    我 用的是LinkButton:
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    foreach(DataGridItem item in DataGrid1.Items)
    {
    LinkButton linkbu=(LinkButton)item.FindControl("LinkButtonPro");
    Response.Write("<script>alert(\"工事中\")<script>"); }
    }
      

  2.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 

    LinkButton linkbu=(LinkButton)e.item.FindControl("LinkButtonPro");   
    linkbu.Attributes.Add("onclick","javascript:alert('工事中');"); 
    }
    }
      

  3.   

    不好意思,我的BUTTON没有链接上去   2楼的 可以用
      

  4.   

    private void dgdEmployeeInfor_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    { foreach(DataGridItem item in dgdEmployeeInfor.Items)
    {
    HyperLink linkbu=(HyperLink)item.FindControl("HyperLink2");
    Response.Write("<script>alert('工事中')<script>");
    }
    }
    这样写了,会是空白页面,错误到底出现在哪里?
    谢谢
      

  5.   

    我给你改过来 ~  因为我找到hyperlink 控件后没有给他附加功能~!所以是空白的,请谅解!!private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    foreach(DataGridItem item in DataGrid1.Items)
    {
    LinkButton linkbu=(LinkButton)item.FindControl("LinkButtonPro");
         ConnDB.JScript.Confirm(linkbu,"工事中....."); }
    }其中的 JScript是我的一个工具类  把完整的 发在下面,你用只要把命名空间改成你的就可以调用了using System;
    using System.Web;
    using System.Web.UI.WebControls;
    namespace wuhanyuanda.ConnDB
    {
    /// <summary>
    /// JScript 的摘要说明。
    /// </summary>
    public class JScript
    {
    public JScript()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    /// <summary>
    /// 删除记录确认
    /// </summary>
    /// <param name="button">需要确认的按钮</param>
    public static void Confirm(WebControl button)
    {
    button.Attributes.Add("onclick","return confirm(\"确定要删除此项记录吗?\")");
    } /// <summary>
    /// 点击按钮确认
    /// </summary>
    /// <param name="button">需要确认的按钮</param>
    /// <param name="Message">提示信息</param>
    public static void Confirm(WebControl button,string Message)
    {
    button.Attributes.Add("onclick","return confirm('"+Message+"')");
    }
    /// <summary>
    /// 弹出对话框
    /// </summary>
    /// <param name="msg">提示信息</param>
    public static void Alert(string msg)
    {
    HttpContext.Current.Response.Write("<script language='javascript'>alert('"+msg.Trim()+"')<" + "/" + "script>");
    }

    /// <summary>
    /// 关闭当前窗口
    /// </summary>
    public static void CloseWin()
    {
    HttpContext.Current.Response.Write("<script language='javascript'>window.close();<" + "/" + "script>");

    } /// <summary>
    /// 当前窗口是,由一个窗口弹出的子窗口,本方法可以实现父窗口重定向
    /// </summary>
    /// <param name="page">跳转到的页面地址</param>
    public static void PageRedirect(string page)
    {
    HttpContext.Current.Response.Write("<script language='javascript'>window.opener.location='"+page+"';<" + "/" + "script>");
    } /// <summary>
    /// 本窗口重定向
    /// </summary>
    /// <param name="page">跳转到的页面地址</param>
    public static void Redirect(string page)
    {
    HttpContext.Current.Response.Write("<script language='javascript'>location='"+page+"';<" + "/" + "script>");
    } /// <summary>
    /// 当前页面刷新
    /// </summary>
    public static void PageReload()
    {
    HttpContext.Current.Response.Write("<script>window.opener.location.reload();</script>");
    }

    /// <summary>
    /// 弹出窗口
    /// </summary>
    /// <param name="url">页面路径</param>
    public static void OpenWindow(string url)
    {
    string script="<script language='javascript'>window.open('"+url+"', 'newwindow', 'height=640, width=600, top=10,left=180,toolbar=no, menubar=no,scrollbars=yes,  resizable=no, location=no,status=no')<" + "/" + "script>";
    HttpContext.Current.Response.Write(script);

    } /// <summary>
    /// 弹出窗口
    /// </summary>
    /// <param name="url">页面路径</param>
    /// <param name="Height">页面高度</param>
    /// <param name="Width">页面宽度</param>
    public static void OpenWindow(string url,int Height,int Width)
    {
    string script="<script language='javascript'>window.open('"+url+"', 'newwindow', 'height="+Height+", width="+Width+", top=10,left=180,toolbar=no, menubar=no,scrollbars=yes,  resizable=no, location=no,status=no')<" + "/" + "script>";
    HttpContext.Current.Response.Write(script);

    } /// <summary>
    /// 弹出窗口
    /// </summary>
    /// <param name="url">页面路径</param>
    /// <param name="Height">页面高度</param>
    /// <param name="Width">页面宽度</param>
    /// <param name="top">页面顶不边距</param>
    /// <param name="left">页面左布边距</param>
    public static void OpenWindow(string url,int Height,int Width,int top,int left)
    {
    string script="<script language='javascript'>window.open('"+url+"', 'newwindow', 'height="+Height+", width="+Width+", top="+top+",left="+left+",toolbar=no, menubar=no,scrollbars=yes,  resizable=no, location=no,status=no')<" + "/" + "script>";
    HttpContext.Current.Response.Write(script);

    }
    /// <summary>
    /// 打印当前页
    /// </summary>
    public static void Print()
    {
     HttpContext.Current.Response.Write("<script language=javascript>window.print();<"+"/"+"script>");
    }

    // /// <summary>
    // /// 点击后弹出新页面
    // /// </summary>
    // /// <param name="e"></param>
    // public static void Re(DataGridItemEventArgs e)
    // {
    // if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    //     e.Item.Attributes.Add("onclick","window.open('Default.aspx?id=" + e.Item.Cells[0].Text + "');"); 
    //
    // }
    //
      

  6.   

    just use declartive style: <asp:DataList runat="server">
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" runat="server" onclick="alert('hello')" ></asp:HyperLink>
                <asp:HyperLink ID="HyperLink2" runat="server" onclick="if(confirm('Continue?')) alert('do something more.');" ></asp:HyperLink>
            </ItemTemplate>
        </asp:DataList>
      

  7.   

    当然,当你需要设置比较复杂的弹出框的内容,或者内容是比较动态的,需要程序干预的,请选择使用 amandag(高歌) 的方法Good Luck!