GridView行单击事件 在GridView中单击某一行,此时会弹出(或跳转)新页面,根据该行商品的ID展现具体商品信息.请问怎么实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过hyperlink或a href链接页面。或在databound里添加行的js脚本,实现跳转。 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowIndex != -1) { e.Row.Attributes.Add("onclick", "Url('" + this.GridView1.DataKeys[e.Row.RowIndex].Value.ToString().Trim() + "')"); } }参考 用SelectedIndexChanged就可以了<asp:CommandField ButtonType="Button" HeaderText="添加新語言" ShowHeader="True" SelectText="Add" ShowSelectButton="True"> <HeaderStyle Width="1%" Wrap="False" /> <ItemStyle HorizontalAlign="Center" /> </asp:CommandField>protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { Response.Redirect("~/B.aspx?QID=" + aQid + "&Flag=1"); } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onclick"] = String.Format("javascript:window.location={0}", .....); // 额外样式定义 } 如果是彈出新頁面(window.open())建議用js做.//绑定链接 protected void CPSGridView1_RowDataBound(object sender, GridViewRowEventArgs e) { string plant = string.Empty; string sloc = string.Empty; string material = string.Empty; string mvt = string.Empty; string inorout = string.Empty; if (e.Row.RowType == DataControlRowType.DataRow) { plant = e.Row.Cells[1].Text.Trim(); sloc = e.Row.Cells[2].Text.Trim(); material = e.Row.Cells[3].Text.Trim(); mvt = e.Row.Cells[6].Text.Trim(); inorout = e.Row.Cells[8].Text.Trim(); e.Row.Cells[3].Text = "<a href=\"javascript:OpenPage('" + plant + "','" + sloc + "','" + material + "','" + mvt + "','" + inorout + "')\">" + material + "</a>"; } }// JScript File function OpenPage(plant,sloc,material,mvt,inorout) { var page="SSTDBDetail.aspx?Plant="+plant+"&SLoc="+sloc+"&Material="+material+"&Mvt="+mvt+"&InOrOut="+inorout ; window.open (page, 'newwindow', 'height=500, width=1000, top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=n o, status=no') } protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) ...{ //注册行单击事件 e.Row.Attributes.Add("onclick", "javascirpt:你要执行的操作"); } ID用e.Row.RowIndex 获取 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "edit") { Server.Transfer("~/EditRoom.aspx?RoomId=" + e.CommandArgument); } }<%@ Page Language="C#" MasterPageFile="~/ContentMaster.master" AutoEventWireup="true" CodeFile="EditRoom.aspx.cs" Inherits="EditRoom" Title="无标题页" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="100%" AutoGenerateRows="False" DataSourceID="objRoom" DefaultMode="Edit" ondatabound="DetailsView1_DataBound"> <FieldHeaderStyle Width="60px" /> <Fields> <asp:TemplateField HeaderText="RoomID" SortExpression="RoomID"> <EditItemTemplate> <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("RoomID") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("RoomID") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label7" runat="server" Text='<%# Bind("RoomID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="房间号" SortExpression="Number"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" Text='<%# Bind("Number") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Number") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("Number") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="床位数" SortExpression="BedNumber"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="描述" SortExpression="Description"> <EditItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Height="150px" Text='<%# Bind("Description") %>' TextMode="MultiLine" Width="250px"></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label3" runat="server" Text='<%# Bind("Description") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="房间类型" SortExpression="RoomType"> <EditItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Eval("RoomType.TypeName") %>'></asp:TextBox> <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("RoomType.TypeId") %>' /> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("RoomType") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label6" runat="server" Text='<%# Bind("RoomType") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="状态" SortExpression="State"> <EditItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# GetRoomType(Eval("State").ToString()) %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("State") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label4" runat="server" Text='<%# Bind("State") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="客人数" SortExpression="GuestNumber"> <EditItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField ShowHeader="False"> <EditItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CommandName="update">更新</asp:LinkButton> </EditItemTemplate> </asp:TemplateField> </Fields> </asp:DetailsView> <asp:ObjectDataSource ID="objRoom" runat="server" DataObjectTypeName="HotelModel.Room" OldValuesParameterFormatString="original_{0}" onupdated="objRoom_Updated" onupdating="objRoom_Updating" SelectMethod="GetRoomByRoomId" TypeName="HotelBLL.RoomManager" UpdateMethod="UpdateRoom"> <SelectParameters> <asp:QueryStringParameter Name="roomId" QueryStringField="roomId" Type="Int32" /> </SelectParameters> </asp:ObjectDataSource></asp:Content> dataset和datareader的区别,如何选取 为什么我的frame里的一个页面网址不对,就会导致整个页面都不对呢? 关于建立PageBase验证权限问题请教 关于C#中访问器的问题 关于asp.net2.0执行效率的问题,大家讨论一下。 水晶报表一个奇怪的问题不知道怎么解决,大家来看看! asp.net如何实现POS小票打印??LPT向打印机写指令有没有用? ViewState中保存的信息安全吗? 为什么网站老是出现app_offline.htm的提示 为什么打开模式窗口的脚本在IE 6.0.26以上的版本均不支持,有解决办法么? 菜鸟问题。。 关于MSDN 不知道问题出在何处了。
或在databound里添加行的js脚本,实现跳转。 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
e.Row.Attributes.Add("onclick", "Url('" + this.GridView1.DataKeys[e.Row.RowIndex].Value.ToString().Trim() + "')");
}
}
参考
<asp:CommandField ButtonType="Button" HeaderText="添加新語言" ShowHeader="True" SelectText="Add" ShowSelectButton="True">
<HeaderStyle Width="1%" Wrap="False" />
<ItemStyle HorizontalAlign="Center" />
</asp:CommandField>protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Redirect("~/B.aspx?QID=" + aQid + "&Flag=1");
}
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = String.Format("javascript:window.location={0}", .....);
// 额外样式定义
}
protected void CPSGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string plant = string.Empty;
string sloc = string.Empty;
string material = string.Empty;
string mvt = string.Empty;
string inorout = string.Empty;
if (e.Row.RowType == DataControlRowType.DataRow)
{
plant = e.Row.Cells[1].Text.Trim();
sloc = e.Row.Cells[2].Text.Trim();
material = e.Row.Cells[3].Text.Trim();
mvt = e.Row.Cells[6].Text.Trim();
inorout = e.Row.Cells[8].Text.Trim();
e.Row.Cells[3].Text = "<a href=\"javascript:OpenPage('" + plant + "','" + sloc + "','" + material + "','" + mvt + "','" + inorout + "')\">" + material + "</a>";
}
}// JScript File function OpenPage(plant,sloc,material,mvt,inorout)
{
var page="SSTDBDetail.aspx?Plant="+plant+"&SLoc="+sloc+"&Material="+material+"&Mvt="+mvt+"&InOrOut="+inorout ;
window.open (page, 'newwindow', 'height=500, width=1000, top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=n o, status=no')
}
...{
//注册行单击事件
e.Row.Attributes.Add("onclick", "javascirpt:你要执行的操作");
}
ID用e.Row.RowIndex 获取
{
if (e.CommandName == "edit")
{
Server.Transfer("~/EditRoom.aspx?RoomId=" + e.CommandArgument);
}
}<%@ Page Language="C#" MasterPageFile="~/ContentMaster.master" AutoEventWireup="true" CodeFile="EditRoom.aspx.cs" Inherits="EditRoom" Title="无标题页" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="100%"
AutoGenerateRows="False" DataSourceID="objRoom" DefaultMode="Edit"
ondatabound="DetailsView1_DataBound">
<FieldHeaderStyle Width="60px" />
<Fields>
<asp:TemplateField HeaderText="RoomID" SortExpression="RoomID">
<EditItemTemplate>
<asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("RoomID") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("RoomID") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("RoomID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="房间号" SortExpression="Number">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True"
Text='<%# Bind("Number") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Number") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="床位数" SortExpression="BedNumber">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("BedNumber") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="描述" SortExpression="Description">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Height="150px"
Text='<%# Bind("Description") %>' TextMode="MultiLine" Width="250px"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="房间类型" SortExpression="RoomType">
<EditItemTemplate>
<asp:TextBox ID="TextBox6" runat="server"
Text='<%# Eval("RoomType.TypeName") %>'></asp:TextBox>
<asp:HiddenField ID="HiddenField1" runat="server"
Value='<%# Eval("RoomType.TypeId") %>' />
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("RoomType") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("RoomType") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="状态" SortExpression="State">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server"
Text='<%# GetRoomType(Eval("State").ToString()) %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("State") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("State") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="客人数" SortExpression="GuestNumber">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("GuestNumber") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="update">更新</asp:LinkButton>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<asp:ObjectDataSource ID="objRoom" runat="server"
DataObjectTypeName="HotelModel.Room"
OldValuesParameterFormatString="original_{0}" onupdated="objRoom_Updated"
onupdating="objRoom_Updating" SelectMethod="GetRoomByRoomId"
TypeName="HotelBLL.RoomManager" UpdateMethod="UpdateRoom">
<SelectParameters>
<asp:QueryStringParameter Name="roomId" QueryStringField="roomId"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</asp:Content>