点击新闻标题后 怎样获得它的ID 然后在另一个页面显示相应内容?
用GridView显示新闻标题 怎样点击其中任意标题后 在另一个页面显示该标题对应的内容 不会取它的ID 怎样取得??? --------------------编程问答-------------------- 给我邮箱 给你点源码 --------------------编程问答-------------------- happy_siyan@163.com --------------------编程问答-------------------- GridView1.DataKeys[index].Value --------------------编程问答-------------------- 就像删除标题时用CommandName CommandArgument确定是删除那一条 那显示是怎么获得ID??? --------------------编程问答-------------------- 在前台 新闻标题那里 <a href='news_detail.aspx?id=<%#Eval("idx")%>' target="_self"><%#Eval("news_title").ToString() %></a>
news_detail.aspx 用request取就行啦
--------------------编程问答-------------------- 后台
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "update")
{
Response.Redirect("ProductFoundModify.aspx?id=" + e.CommandArgument.ToString());
}
}
前台
--------------------编程问答--------------------
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="btxiugai" runat="server" BorderStyle="None" Text="修改" CommandName="update"
CommandArgument='<%# Eval("ProductID") %>'/>
<asp:Button ID="btshanchu" runat="server" BorderStyle="None"
Text="删除" OnClientClick="return confirm('确定删除选中产品吗?删除产品将无法恢复!!!')" CommandName="delete"
CommandArgument='<%# Eval("ProductID") %>' />
</ItemTemplate>
这里就要 设置 gridview的 DataKeyNames 然后在删除时间里面 DataKeys[e.RowIndex].value取
比方说:
<asp:GridView ID="Customermanage" runat="server" DataKeyNames="idx" OnRowDeleting="Customermanage_RowDeleting">
然后我后台:int customerId = int.Parse(Customermanage.DataKeys[e.RowIndex].Value.ToString());
这我的customerId取出来的就是这一行的 IDX啦 然后在传进方法进行删除数据啦 --------------------编程问答-------------------- 删除 接上
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)--------------------编程问答-------------------- 主要是运用到了GridView的HyperLinkField列,该字段在数据绑定为超链接的形式。
{
int id = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
Maticsoft.Model.NBWebModel_T_Product mdprd = prd.GetModel(id);
string imageursml = "~/Manager/ImageProductSml/" + mdprd.SmlImage;
string x = Server.MapPath(imageursml);
System.IO.File.Delete(x);
string imageurbig = "~/Manager/ImageProductBig/" + mdprd.BigImage;
string y = Server.MapPath(imageurbig);
System.IO.File.Delete(y);
prd.Delete(id);
Response.Write("<script>alert('删除成功!')</script>");
bing((int)ViewState["pagesize"], AspNetPager1.CurrentPageIndex, ViewState["strWhere"].ToString());
}
通过改列自带的属性,利用QueryString的形式传值,开新页面。
详细的可去查阅 ASP.NET 开发宝典,这本书,里面的5.8,实例097。网上有电子版和源码。里面介绍的很详细。 --------------------编程问答-------------------- 我知道删除怎么写 就是不知道怎么显示点击的那个标题的内容 --------------------编程问答-------------------- <asp:TemplateField HeaderText="产品中文名">
<ItemTemplate>
<a href="ProductFoundModify.aspx?id=<%#Eval("ProductID") %>"> <asp:Label ID="lab_pronamecn" runat="server" Text='<%# ClassComm.GetShortTitle(Eval("ProductCn").ToString(),7) %>'></asp:Label></a>
</ItemTemplate>
</asp:TemplateField>
或者用HyperLink --------------------编程问答-------------------- <a href='show.aspx?id=<%# Eval("XTBH") %>' target="_blank">
<%# Eval("Title")%>
</a>
string id=Request.QueryString["id"]=null?"0":Request.QueryString["id"].ToString(); --------------------编程问答--------------------
我认为 我和这位已经说了 你取到了新闻的id 难道还不能显示该ID数据的具体信息吗? --------------------编程问答--------------------
不好意思 中午吃饭去了~ 才发 --------------------编程问答--------------------
不好意思 中午吃饭去了~ 才发
[/Quote]
呵呵 谢谢了 已经收到了 --------------------编程问答--------------------
请问NewsView.aspx中的newsid = Convert.ToInt32(Request.QueryString["id"].ToString());中的id是从哪里接收来的??? --------------------编程问答-------------------- 在前台 新闻标题那里 <a href='news_detail.aspx?id=<%#Eval("idx")%>' target="_self"><%
#Eval("news_title").ToString() %></a>
--------------------编程问答--------------------
NewsList.aspx 前台
<asp:HyperLink ID="Title" NavigateUrl='<%# "~/NewsView.aspx?ID=" + Eval("NewsID") %>' runat="server" Target="_blank" Text='<%# Eval("NewsTitle") %>'></asp:HyperLink>
--------------------编程问答--------------------
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>">
</asp:SqlDataSource>是干什么用的?用GridView不就能够绑定数据了吗?
这是写的显示标题的GridView源码:<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BorderStyle="None" GridLines ="None" Width="363px" OnRowCommand="GridView1_RowCommand" >
<RowStyle BorderStyle="None" />
<Columns>
<asp:BoundField ShowHeader="False">
<ControlStyle Width="30px" />
<FooterStyle BorderStyle="None" />
</asp:BoundField>
<asp:HyperLinkField DataTextField="NewsName"
DataNavigateUrlFields="NewsUrl" ShowHeader="False"
DataNavigateUrlFormatString="Pro_Show.aspx?id=9" Target="_blank" >
<ControlStyle CssClass="zi" Width="250px" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="NewsUrl" DataTextField="Lrsj"
ShowHeader="False" Target="_blank">
<ControlStyle CssClass="zi" />
</asp:HyperLinkField>
</Columns>
<EditRowStyle BorderStyle="None" />
</asp:GridView>
要怎么修改 在Pro_Show.aspx中显示对应ID的内容???
--------------------编程问答-------------------- 这个 网站 其实 几乎都是手工拖出来的
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>">
</asp:SqlDataSource>
就是手动拖出来的SqlDataSource 控件
<asp:HyperLinkField DataTextField="NewsName"
DataNavigateUrlFields="NewsUrl" ShowHeader="False"
DataNavigateUrlFormatString="Pro_Show.aspx?id=9" Target="_blank" >
你已经将id通过url 传到下个页面了
通过Request.QueryString["id"].ToString() 获取到
然后到数据库中进行查询 绑定到页面
--------------------编程问答--------------------
那SqlDataSource 控件是起的什么作用???
其实DataNavigateUrlFormatString="Pro_Show.aspx?id=9中只是把ID=9的传到第二个页面 无论点哪一个标题 第二个页面显示的始终是ID=9的那条新闻的内容 要怎么修改???? --------------------编程问答-------------------- SqlDataSource
就是要读取你数据库的数据(额 不会的话去小小研究下5分钟搞定)
DataNavigateUrlFormatString="Pro_Show.aspx?id=9
你都把id写死了 可不是 怎么传都是9
你把SqlDataSource 取出的id字段 绑定到id后面啊
就是Eval("NewsID") 这个 --------------------编程问答-------------------- 这个都到首页了 --------------------编程问答--------------------
?????? --------------------编程问答-------------------- 学习·· --------------------编程问答--------------------
这个没问题 --------------------编程问答--------------------
用GridView怎么用<a>?提示错误??? --------------------编程问答--------------------
这是那个显示标题的GridView控件: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BorderStyle="None" GridLines ="None" Width="363px" OnRowCommand="GridView1_RowCommand" >
<RowStyle BorderStyle="None" />
<Columns>
<asp:BoundField ShowHeader="False">
<ControlStyle Width="30px" />
<FooterStyle BorderStyle="None" />
</asp:BoundField>
<asp:HyperLinkField DataTextField="NewsName"
DataNavigateUrlFields="NewsUrl" ShowHeader="False"
DataNavigateUrlFormatString="Pro_Show.aspx?id=9" Target="_blank" >
<ControlStyle CssClass="zi" Width="250px" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFields="NewsUrl" DataTextField="Lrsj"
ShowHeader="False" Target="_blank">
<ControlStyle CssClass="zi" />
</asp:HyperLinkField>
</Columns>
<EditRowStyle BorderStyle="None" />
</asp:GridView>怎么传id??? --------------------编程问答--------------------
<asp:HyperLinkField DataTextField="NewsName"
DataNavigateUrlFields="NewsUrl" ShowHeader="False"
DataNavigateUrlFormatString="Pro_Show.aspx?id=9" Target="_blank" >
改成
<asp:HyperLinkField DataTextField="NewsName"
DataNavigateUrlFields="NewsUrl" ShowHeader="False"
DataNavigateUrlFormatString="Pro_Show.aspx?id="+Eval("新闻id字段名") Target="_blank" >
我都无语了都
--------------------编程问答-------------------- 虽然我只是路过看看的,但还是要顶一个,5楼的回复写得真棒!
补充:.NET技术 , ASP.NET