Gridview 问题

jack85862375 2010-11-11 02:17:33
我晕死 就一个URL传值取值 纠结了半天
第一个页面上有一个gridview 我后面加了一个imageBtn 点击imageButton跳转至新页面并且把选中一行的值传到新页面 (我的表是经过了条件筛选的 select * from XX where UserName = '') 希望高手能解决 我就卡这一步了!
我希望能在iamgeBTn_cilk的事件写代码!
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilianjie0426 2010-11-11
  • 打赏
  • 举报
回复
个人觉得这个写在iamgeBTn_click事件里不是很方便,楼主可以试一下写在 GridView1_RowCommand事件里,如:

<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand"
AutoGenerateColumns="False" >
<Columns>
其他绑定列。。。。
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" ImageUrl='<%#Eval("url") %>' CommandName="move" CommandArgument='<%#Eval("customerID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

后台:

protected void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
string id = e.CommandArgument.ToString();
if (e.CommandName == "move")
{
Response.Redirect("~/Sales/InsertSalesMore.aspx?id=" + id);
}
}


很方便的。。。
若-相惜 2010-11-11
  • 打赏
  • 举报
回复
lz我服了你 又跑到这来发帖 。。。。。。。。。。。

CustomerTable CT = new CustomerTable();//new了一个新的对象



public DataSet SelectCustomerBySerpeople(CustomerTable mc)
{
string sql = string.Format("select * from CustomerTable where Serpeople = '{0}'", mc.Serpeople);
ds = new DataSet();
try
{

//连接数据库
sqlconn.Open();
da = new SqlDataAdapter(sql, sqlconn);
//填充数据
da.Fill(ds, "CustomerTable");
return ds;

}
catch (Exception)
{
throw;
}
finally
{
//关闭数据库连接
sqlconn.Close();
}


if (BLLHelper.SelectCustomerBySerpeople(CT) != null)


敢问lz这句又是什么
pengwen420107 2010-11-11
  • 打赏
  • 举报
回复
<asp:DataList ID="DataList1" runat="server" DataKeyField="CustomerId"
DataSourceID="SqlDataSource1">
<ItemTemplate>
Name:
<asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
<asp:Button ID="Button1" runat="server" ToolTip='<%# Container.ItemIndex %>'
Text="Button" onclick="Button1_Click1" />
<br />
</ItemTemplate>
</asp:DataList>
如同这样的代码:在Datalist中存在一个Button。这个Button有一个click事件。我需要在这个事件中获取当前这一行的Label.Text的值。
我以往的做法是在Button的ToolTip属性上再绑定上Container.ItemIndex 或 Container.DataItemIndex(GridView中)。然后再在
click事件中这样处理:

int index = Convert.ToInt32(((Button)sender).ToolTip);
string lable1 = ((Label)this.DataList1.Items[index].FindControl("NameLabel")).Text;
然而这样做,当用户将鼠标点在Button上的时候将会看到一个数字。这样给人的感觉很不舒服。
有没有一种方法能够在Button的click事件中获取到这个事件发生在数据源的第几条数据项上?这样我就能够直接通过这个值查找控件。
jack85862375 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 jack85862375 的回复:]
我晕死 就一个URL传值取值 纠结了半天
第一个页面上有一个gridview 我后面加了一个imageBtn 点击imageButton跳转至新页面并且把选中一行的值传到新页面 (我的表是经过了条件筛选的 select * from XX where UserName = '') 希望高手能解决 我就卡这一步了!
我希望能在iamgeBTn_cilk的事件写代码!
[/Quote]

传值
   protected void LinkBtnNew_Click(object sender, EventArgs e)
{
//int cusid = Convert.ToInt32(((((sender as ImageButton).NamingContainer) as GridViewRow).Cells[0].FindControl("customerID") as Label).Text);
//Response.Redirect("~/Sales/InsertSalesMore.aspx?id=" + cusid);
}

新页面取值


int id = Convert.ToInt32(Request.QueryString["id"].ToString());
CustomerTable CT = new CustomerTable();

if (BLLHelper.SelectCustomerBySerpeople(CT) != null)
{
this.TxtcustomerName.Text = BLLHelper.SelectCustomerBySerpeople(CT).Tables["CustomerTable"].Rows[0]["customerName"].ToString();

}
hookyzlr 2010-11-11
  • 打赏
  • 举报
回复
给GridView增加一个onrowcommand事件,当你点击了按钮的时候,会触发onrowcommand事件,在这个事件当中写你要写代码即可

<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand"
AutoGenerateColumns="False"
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" ImageUrl='<%#Eval("url") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

后台

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
ScriptManager.RegisterClientScriptBlock(GridView1, GridView1.GetType(), "", "alert('asd');", true);
}
shichao102471077 2010-11-11
  • 打赏
  • 举报
回复
到行绑定事件里面处理不就可以了。。 imagebutton要是模版列首先。然后还要设置两个属性,具体是什么。不太记得了。。
MSDNXGH 2010-11-11
  • 打赏
  • 举报
回复
imageButton改为跳转服务器控件,把就值加上去就可以了
细嗅蔷薇 2010-11-11
  • 打赏
  • 举报
回复
上代码

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧