none
如何在GridView控件更新时,预览上传图片文件? RRS feed

答案

全部回复

  • hi BoA2100,

      您是指GridView的行更新事件吗?如果是,可在GridView的单元格里增加<img src="图片URL" />

    2011年8月24日 12:18
    版主
  • 如果上传的图片路径储存在数据库中,也可以使用GridView的图片字段。
    2011年8月27日 3:25
  • 你需要把文件上传到服务器端才能进行预览。

    参见

    http://dotnet.aspx.cc/file/Add-Delete-Update-Edit-Data-With-Paging-in-GridView.aspx


    【孟子E章】
    2011年8月29日 8:52
    版主
  • 谢谢各位!

    就是想这样的,单击“浏览”按钮时,当上传控件包含文件路径时,前面的“图片”字段,会显现上传预览的小图片?不知道,怎么做啊!


    2011年8月29日 9:52
  • 可参考GridViewRowDataBound事件
    2011年8月31日 13:30
    版主
  • 我也知道,一定要用到JavaScript指定该字段的当编辑的一行。

    就是不知道,怎么编写。能不能提供一下代码啊!

    2011年9月13日 11:54
  • js实现图片预览,不兼容所有浏览器

    http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html


    【孟子E章】
    2011年9月14日 5:43
    版主
  • 谢谢楼上的,

    看了,好像,并不是我所需要的。

    我就是想在更新GridView时,被编写的这一行,能够预览上传的图片。

    而不是想在GridView控件外面,通过其他手段,预览图片。

    不知道,如何解决啊!

    2011年9月20日 10:27
  • 如果你会使用js,在哪预览都是一样。
    【孟子E章】
    2011年9月21日 0:46
    版主
  • 因为,不会才问!
    2011年9月21日 11:48
  • 因为,不会才问!
    我可以给你写一段,有2种方法可以实现,
    1.直接在客户端使用 js预览,这种方法不是所有的浏览器都支持,你的程序要考虑兼容的话,这种方法是不行的
    2,先临时上传再预览,兼容所有浏览器。

    你先选择你要的一种方法


    【孟子E章】
    2011年9月22日 0:55
    版主
  • 大概,是第一种吧!先谢谢了。

    其实,我只是想在更新GridView控件时,能够预览图片。(如我以前上传的图片)。

    我试过GridViewRowDataBound事件。可是该事件,无法获取GridView的索引,好像不太支持,所以没有办法,捕获到上传控件的ID号和图片控件的ID。不知道,用GridView什么事件啊!本来想在GridView控件的事件里调入JS预览的方法。可没法捕获到上传控件的ID和图片控件的ID啊!



    • 已编辑 BoA2100 2011年9月22日 11:44
    2011年9月22日 11:42
  • 下面是一个完整的例子。你先拷贝成xx.aspx文件,下载mdb数据库,放在App_Data下,然后进行测试先看效果。数据库下载http://dotnet.aspx.cc/ASPNET20Book.rar
    <%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" %>
    
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script runat="server">  
      
      private int EditId = 0;
      private String ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ASPNET20Book.mdb;";
    
      /// <summary>
      /// 数据绑定的处理。在需要编辑时,显示出编辑框
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          if (EditId > 0)
          {
            //如果绑定数据源是DatarReader,则使用下面的方法:
            //System.Data.Common.DbDataRecord rowItem = (System.Data.Common.DbDataRecord)e.Row.DataItem;
    
            //如果绑定是 DataView,则使用此方法
            System.Data.DataRowView rowItem = (System.Data.DataRowView)e.Row.DataItem;
            if (rowItem["id"].ToString().Equals(EditId.ToString()))
            {
              //隐藏显示的文字
              PlaceHolder LabelTitle = e.Row.FindControl("LabelTitle") as PlaceHolder;
              LabelTitle.Visible = false;
              PlaceHolder LabelBirthday = e.Row.FindControl("LabelBirthday") as PlaceHolder;
              LabelBirthday.Visible = false;
              PlaceHolder LabelGender = e.Row.FindControl("LabelGender") as PlaceHolder;
              LabelGender.Visible = false;
              PlaceHolder LabelClassName = e.Row.FindControl("LabelClassName") as PlaceHolder;
              LabelClassName.Visible = false;
              PlaceHolder LabelPhoto = e.Row.FindControl("LabelPhoto") as PlaceHolder;
              LabelPhoto.Visible = true;
    
              PlaceHolder PlaceHolder1 = e.Row.FindControl("PlaceHolder1") as PlaceHolder;
              PlaceHolder1.Visible = false;
    
              //打开编辑框
              TextBox uTitle = e.Row.FindControl("uTitle") as TextBox;
              uTitle.Visible = true;
    
              TextBox uBirthDay = e.Row.FindControl("uBirthDay") as TextBox;
              uBirthDay.Visible = true;
    
              RadioButtonList uGender = e.Row.FindControl("uGender") as RadioButtonList;
              uGender.Visible = true;
    
              DropDownList uClassName = e.Row.FindControl("uClassName") as DropDownList;
              uClassName.Visible = true;
    
              FileUpload uPhoto = e.Row.FindControl("uPhoto") as FileUpload;
              uPhoto.Visible = true;
              uPhoto.Attributes.Add("onchange", "onUploadImgChange(this,'preview_" + EditId + "', 'preview_fake_" + EditId + "', 'preview_size_fake_" + EditId + "')");
    
              //赋原来的值
              if (rowItem["Gender"] != DBNull.Value)
              {
                uGender.SelectedIndex = (Convert.ToBoolean(rowItem["Gender"]) ? 0 : 1);
              }
    
              if (rowItem["ClassName"] != DBNull.Value)
              {
                uClassName.Items.FindByText(rowItem["ClassName"].ToString()).Selected = true;
              }
    
              //显示编辑更新按钮
              Panel PanelNormal = e.Row.FindControl("PanelNormal") as Panel;
              PanelNormal.Visible = false;
    
              Panel PanelUpdate = e.Row.FindControl("PanelUpdate") as Panel;
              PanelUpdate.Visible = true;
            }
          }
        }
      }
    
      /// <summary>
      /// 打开编辑框,将编辑标识传递到 EditId
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void EditClick(object sender, EventArgs e)
      {
        Button b = sender as Button;
        EditId = Convert.ToInt32(b.CommandArgument);
    
        GridViewRow dvr = b.NamingContainer as GridViewRow;
        EditId = (int)GridView1.DataKeys[dvr.DataItemIndex].Value;
        DataBind();
        //Response.Write(GridView1.DataKeys[dvr.DataItemIndex].Value);
    
      }
    
      /// <summary>
      /// 将编辑的数据保存
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void UpdateClick(object sender, EventArgs e)
      {
        Button b = sender as Button;
        GridViewRow dvr = b.NamingContainer as GridViewRow;
        TextBox uTitle = dvr.FindControl("uTitle") as TextBox;
    
        string StudentTitle = uTitle.Text;
        string StudentBirthDay = ((TextBox)dvr.FindControl("uBirthDay")).Text;
        bool StudentGender = ((RadioButtonList)dvr.FindControl("uGender")).SelectedValue == "男" ? true : false;
        string StudentClassName = ((DropDownList)dvr.FindControl("uClassName")).SelectedValue;
        string StudentID = GridView1.DataKeys[dvr.RowIndex].Value.ToString();
        string sql = "";
        String PhotoPath = "";
        bool HasFileUploaded = false;
    
        FileUpload oUpload = (FileUpload)dvr.FindControl("uPhoto");
        if (oUpload.HasFile)
        {
          PhotoPath = Guid.NewGuid().ToString("D") + System.IO.Path.GetExtension(oUpload.FileName);
          oUpload.SaveAs(Server.MapPath("~") + "\\" + PhotoPath);
          HasFileUploaded = true;
        }
    
        if (HasFileUploaded)
        {
          sql = "Update Student Set Title=@Title,BirthDay = @BirthDay,";
          sql += "Gender=@Gender,PhotoPath=@PhotoPath,ClassName=@ClassName Where id=@id";
        }
        else
        {
          sql = "Update Student Set Title=@Title,BirthDay = @BirthDay,";
          sql += "Gender=@Gender,ClassName=@ClassName Where id=@id";
        }
    
        OleDbConnection cn = new OleDbConnection(ConnectionString);
        cn.Open();
        OleDbCommand cmd = new OleDbCommand(sql, cn);
    
        cmd.Parameters.AddWithValue("@Title", StudentTitle);
        cmd.Parameters.AddWithValue("@BirthDay", StudentBirthDay);
        cmd.Parameters.AddWithValue("@Gender", StudentGender);
        if (HasFileUploaded)
        {
          cmd.Parameters.AddWithValue("@PhotoPath", PhotoPath);
        }
        cmd.Parameters.AddWithValue("@ClassName", StudentClassName);
        cmd.Parameters.AddWithValue("@id", StudentID);
        cmd.ExecuteNonQuery();
        cn.Close();
    
        Response.Redirect(Request.Url.ToString());
    
      }
    
    
      /// <summary>
      /// 添加新记录
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void AddClick(object sender, EventArgs e)
      {
        InsertNewRecord(sender, e);
      }
    
      /// <summary>
      /// 取消编辑
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void CancelClick(object sender, EventArgs e)
      {
        Response.Redirect(Request.UrlReferrer.ToString());
      }
    
      /// <summary>
      /// 删除记录
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void DeleteClick(object sender, EventArgs e)
      {
        Button b = sender as Button;
        int id = Convert.ToInt32(b.CommandArgument);
        OleDbConnection cn = new OleDbConnection(ConnectionString);
        cn.Open();
        OleDbCommand cmd = new OleDbCommand("Delete From [Student] Where [id]=@id", cn);
        cmd.Parameters.AddWithValue("@id", id);
        cmd.ExecuteNonQuery();
        cn.Close();
        Response.Redirect(Request.Url.ToString());
      }
    
      /// <summary>
      /// 插入新记录的公共函数
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void InsertNewRecord(object sender, EventArgs e)
      {
        string StudentTitle = ((TextBox)(sender as Button).NamingContainer.FindControl("NewTitle")).Text;
        if (StudentTitle.Trim() == "")
        {
          ErrorMsg.Text = "请输入姓名";
          return;
        }
        string StudentBirthDay = ((TextBox)(sender as Button).NamingContainer.FindControl("NewBirthDay")).Text;
        bool StudentGender = ((RadioButtonList)
          (sender as Button).NamingContainer.FindControl("NewGender")).SelectedValue == "男" ? true : false;
        string StudentClassName = ((DropDownList)
          (sender as Button).NamingContainer.FindControl("NewClassName")).SelectedValue;
        FileUpload oUpload = (FileUpload)(sender as Button).NamingContainer.FindControl("AddPhoto");
        String FileName = "";
        FileName = Guid.NewGuid().ToString("D") + System.IO.Path.GetExtension(oUpload.FileName);
        oUpload.SaveAs(Server.MapPath("~") + "\\" + FileName);
        string sql = "Insert Into Student (Title,BirthDay,Gender,PhotoPath,ClassName)";
        sql += " Values(@Title,@BirthDay,@Gender,@PhotoPath,@ClassName)";
        OleDbConnection cn = new OleDbConnection(ConnectionString);
        cn.Open();
    
        OleDbCommand cmd = new OleDbCommand(sql, cn);
        cmd.Parameters.AddWithValue("@Title", StudentTitle);
        cmd.Parameters.AddWithValue("@BirthDay", StudentBirthDay);
        cmd.Parameters.AddWithValue("@Gender", StudentGender);
        cmd.Parameters.AddWithValue("@PhotoPath", FileName);
        cmd.Parameters.AddWithValue("@ClassName", StudentClassName);
    
        cmd.ExecuteNonQuery();
        cn.Close();
        Response.Redirect(Request.FilePath.ToString());
      }
    
      /// <summary>
      /// 加载页面
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void Page_Load(object sender, EventArgs e)
      {
        if (!Page.IsPostBack)
        {
          DataBind();
        }
      }
    
      /// <summary>
      /// 绑定 GridView
      /// </summary>
      protected void DataBind()
      {
        String sql;
        OleDbConnection cn = new OleDbConnection(ConnectionString);
        cn.Open();
    
        sql = "SELECT * FROM [Student] ORDER BY [id] DESC";
    
        OleDbDataAdapter da = new OleDbDataAdapter(sql, cn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataBind();
        cn.Close();
      }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title>GridView 插入、删除、修改的例子</title>
      <style type="text/css">
        .preview_wrapper
        {
          display: inline-block;
          width: 300px;
          height: 300px;
        }
        .preview_fake
        {
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
        }
        .preview_size_fake
        {
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);
          visibility: hidden;
        }
        .preview
        {
          width: 300px;
          height: 300px;
        }
      </style>
      <script type="text/javascript">
        function onUploadImgChange(sender, preview, preview_fake, preview_size_fake) {
          if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
            alert('图片格式无效!');
            return false;
          }
          var objPreview = document.getElementById(preview);
          var objPreviewFake = document.getElementById(preview_fake);
          var objPreviewSizeFake = document.getElementById(preview_size_fake);
    
          if (sender.files && sender.files[0]) {
            objPreview.style.display = 'block';
            objPreview.style.width = 'auto';
            objPreview.style.height = 'auto';
            objPreview.src = sender.files[0].getAsDataURL();
          } else if (objPreviewFake.filters) {
            sender.select();
            var imgSrc = document.selection.createRange().text;
            objPreviewFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
            objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
    
            autoSizePreview(objPreviewFake);
            objPreview.style.display = 'none';
          }
        }
        function onPreviewLoad(sender) {
          autoSizePreview(sender);
        }
        function autoSizePreview(objPre) {
          objPre.style.width = 300 + 'px';
          objPre.style.height = 300 + 'px';
          objPre.style.marginTop = 0 + 'px';
          objPre.style.marginLeft = 0 + 'px';
        }
     
      </script>
    </head>
    
    


    【孟子E章】
    2011年9月23日 3:20
    版主
  • 下半部分

    <body>
      <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
        OnRowDataBound="GridView1_RowDataBound" ShowFooter="true">
        <HeaderStyle BackColor="#ccff99" Font-Bold="true" />
        <Columns>
          <asp:TemplateField HeaderText="姓名">
            <ItemTemplate>
              <asp:PlaceHolder ID="LabelTitle" runat="server">
                <%#Eval("Title") %></asp:PlaceHolder>
              <asp:TextBox ID="uTitle" runat="server" Text='<%#Eval("Title") %>' Visible="false"></asp:TextBox>
            </ItemTemplate>
            <FooterTemplate>
              <asp:TextBox ID="NewTitle" runat="server"></asp:TextBox>
            </FooterTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="生日(yyyy-MM-dd格式)">
            <ItemTemplate>
              <asp:PlaceHolder ID="LabelBirthday" runat="server">
                <%#Eval("BirthDay", "{0:yyyy-MM-dd}")%></asp:PlaceHolder>
              <asp:TextBox ID="uBirthDay" runat="server" Text='<%#Eval("BirthDay", "{0:yyyy-MM-dd}")%> '
                Visible="false" />
            </ItemTemplate>
            <FooterTemplate>
              <asp:TextBox ID="NewBirthDay" runat="server"></asp:TextBox>
            </FooterTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="性别">
            <ItemTemplate>
              <asp:PlaceHolder ID="LabelGender" runat="server">
                <%#(Eval("Gender")).ToString() =="True"?"男":"女"%></asp:PlaceHolder>
              <asp:RadioButtonList ID="uGender" runat="server" RepeatDirection="Horizontal" Visible="false">
                <asp:ListItem Text="男"></asp:ListItem>
                <asp:ListItem Text="女"></asp:ListItem>
              </asp:RadioButtonList>
            </ItemTemplate>
            <FooterTemplate>
              <asp:RadioButtonList ID="NewGender" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem Selected="true" Text="男"></asp:ListItem>
                <asp:ListItem Text="女"></asp:ListItem>
              </asp:RadioButtonList>
            </FooterTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="年级">
            <ItemTemplate>
              <asp:PlaceHolder ID="LabelClassName" runat="server">
                <%#Eval("ClassName")%></asp:PlaceHolder>
              <asp:DropDownList ID="uClassName" runat="server" Visible="false">
                <asp:ListItem Text="小学" Value="小学"></asp:ListItem>
                <asp:ListItem Text="中学" Value="中学"></asp:ListItem>
                <asp:ListItem Text="高中" Value="高中"></asp:ListItem>
                <asp:ListItem Text="大学" Value="大学"></asp:ListItem>
              </asp:DropDownList>
            </ItemTemplate>
            <FooterTemplate>
              <asp:DropDownList ID="NewClassName" runat="server">
                <asp:ListItem Text="小学" Value="小学"></asp:ListItem>
                <asp:ListItem Text="中学" Value="中学"></asp:ListItem>
                <asp:ListItem Text="高中" Value="高中"></asp:ListItem>
                <asp:ListItem Text="大学" Value="大学"></asp:ListItem>
              </asp:DropDownList>
            </FooterTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="照片">
            <ItemTemplate>
              <asp:PlaceHolder ID="LabelPhoto" runat="server" Visible="false">
                <div class="preview_wrapper">
                  <div id="preview_fake_<%# Eval("id") %>" class="preview_fake">
                    <img id="preview_<%# Eval("id") %>" src='<%# Eval("PhotoPath") %>' class="preview"
                      onload="onPreviewLoad(this)" />
                  </div>
                </div>
                <img id="preview_size_fake_<%# Eval("id") %>" class="preview_size_fake" />
              </asp:PlaceHolder>
              <asp:PlaceHolder ID="PlaceHolder1" runat="server">
                <img class="preview" src='<%# Eval("PhotoPath") %>' />
              </asp:PlaceHolder>
              <asp:FileUpload ID="uPhoto" runat="server" Visible="false" />
            </ItemTemplate>
            <FooterTemplate>
              <div class="preview_wrapper">
                <div id="preview_fake_0" class="preview_fake">
                  <img id="preview_0" src='none.gif' class="preview" onload="onPreviewLoad(this)" />
                </div>
              </div>
              <img id="preview_size_fake_0" class="preview_size_fake" />
              <asp:FileUpload ID="AddPhoto" runat="server" onchange="onUploadImgChange(this,'preview_0', 'preview_fake_0', 'preview_size_fake_0')" />
            </FooterTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="操作">
            <ItemTemplate>
              <asp:Panel ID="PanelNormal" runat="server">
                <asp:Button ID="EditButton" runat="server" Text="修改" OnClick="EditClick" CommandArgument='<%#Eval("id") %>' />
                <asp:Button ID="DeleteButton" runat="server" Text="删除" OnClick="DeleteClick" CommandArgument='<%#Eval("id") %>' />
              </asp:Panel>
              <asp:Panel ID="PanelUpdate" runat="server" Visible="false">
                <asp:Button ID="UpdateButton" runat="server" Text="更新" OnClick="UpdateClick" CommandArgument='<%#Eval("id") %>' />
                <asp:Button ID="CancelButton" runat="server" Text="取消" OnClick="CancelClick" />
              </asp:Panel>
            </ItemTemplate>
            <FooterTemplate>
              <asp:Button ID="AddButton" runat="server" Text="添加新纪录" OnClick="AddClick" />
            </FooterTemplate>
          </asp:TemplateField>
        </Columns>
        <EmptyDataTemplate>
          <table cellspacing="0" rules="all" border="1" style="border-collapse: collapse;">
            <tr>
              <th>
                姓名
              </th>
              <th>
                生日(yyyy-MM-dd格式)
              </th>
              <th>
                性别
              </th>
              <th>
                年级
              </th>
              <th>
                照片
              </th>
              <th>
                操作
              </th>
            </tr>
            <tr><td>
              <asp:TextBox ID="NewTitle" runat="server"></asp:TextBox>
            </td><td>
              <asp:TextBox ID="NewBirthDay" runat="server"></asp:TextBox>
            </td><td>
              <asp:RadioButtonList ID="NewGender" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem Selected="true" Text="男"></asp:ListItem>
                <asp:ListItem Text="女"></asp:ListItem>
              </asp:RadioButtonList>
            </td><td>
              <asp:DropDownList ID="NewClassName" runat="server">
                <asp:ListItem Text="小学" Value="小学"></asp:ListItem>
                <asp:ListItem Text="中学" Value="中学"></asp:ListItem>
                <asp:ListItem Text="高中" Value="高中"></asp:ListItem>
                <asp:ListItem Text="大学" Value="大学"></asp:ListItem>
              </asp:DropDownList>
            </td><td>
              <div class="preview_wrapper">
                <div id="preview_fake_0" class="preview_fake">
                  <img id="preview_0" src='none.gif' class="preview" onload="onPreviewLoad(this)" />
                </div>
              </div>
              <img id="preview_size_fake_0" class="preview_size_fake" />
              <asp:FileUpload ID="AddPhoto" runat="server" onchange="onUploadImgChange(this,'preview_0', 'preview_fake_0', 'preview_size_fake_0')" />
            </td><td>
              <asp:Button ID="b" runat="server" Text="添加学生" OnClick="AddClick" />
            </td></tr>
          </table>
        </EmptyDataTemplate>
      </asp:GridView>
      <div id="Pager" runat="server" style="text-align: left; padding: 10px 0;"></div>
      <asp:Label ID="ErrorMsg" runat="server" ForeColor="red"></asp:Label>
      </form>
    </body>
    </html>
    



    【孟子E章】
    2011年9月23日 3:21
    版主
  • 注意事项和说明,参见

    http://dotnet.aspx.cc/file/Add-Delete-Edit-GridView-With-Upload-Image-Preview.aspx

     

    其他自己的需求,看着改啊


    【孟子E章】
    2011年9月23日 3:36
    版主
  • 版主厉害! 我试一试!还不错,这东西,还支持母版页。 发现了一个小小的问题! 就是在GridView控件分页时,好像无法使用(在第2页,当单击编辑时,就会出现错误)。好像只支持首页。 检查在EditClick事件会出错 索引超出范围。必须为非负值并小于集合大小。 参数名: index 不知道如何解决啊!
    • 已编辑 BoA2100 2011年9月24日 6:43
    2011年9月24日 6:39
  • 这个就是当前行的数据库id的值,你可以通过 CommandArgument 进行传递
    【孟子E章】
    2011年9月26日 13:57
    版主
  • 不太会用啊!

    能不能请你修改一下源代码啊(或者直接在你的博客里修改了)!这些比较完整了。

    谢谢你了。

    2011年9月28日 9:42
  • protected void EditClick(object sender, EventArgs e)
    {
      Button b = sender as Button;
      EditId = Convert.ToInt32(b.CommandArgument);
      DataBind();
    }
    

    改成这样即可,后面那2行没用
    【孟子E章】
    2011年9月29日 8:43
    版主
  • 还有UpdateClick方法里面

     string StudentID = b.CommandArgument;


    【孟子E章】
    • 已标记为答案 BoA2100 2011年10月10日 11:32
    2011年9月29日 8:46
    版主