SQL Server 表中的列名是"ID"、“标题”、“教师姓名”、“发布时间”、“文章内容”下面是我的一个页面的完整代码,页面上只有一个DataGrid,显示取自以上Sql Server表的数据,除“文章内容”外,"ID"、“标题”、“教师姓名”、“发布时间”都被显示出来。问题:
如何实现:在客户端用鼠标点击“标题”时,能根据所点的行的"ID"(因为标题可能重复),在另一页调出并显示这“标题”所对应的“文章内容”我不会主要是:
1.“标题”不是服务器端组件,没法直接双击它打开代码窗口开始编程,不知怎么办了
2.不知道如何由所点“标题”得出它同行前方的“ID”如果我的总思路有问题,请提供个其它的方案.我研究了CSDN中的情况发现它是把标题设成了超链接,超链接指向的是具体的网页文件,但是我想把“文章内容”存在Sql Server中,不喜欢大量的网页文件存放在服务器端,感觉乱,不好管理如果可能,尽可能不要用客户端脚本<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TopicList.aspx.cs" Inherits="TestList" %>
<!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 runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1" 
            onselectedindexchanged="GridView1_SelectedIndexChanged" AllowPaging="True" 
            CellPadding="4" ForeColor="#333333" GridLines="None">
            <RowStyle BackColor="#E3EAEB" />
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
                    ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="标题" HeaderText="标题" SortExpression="标题"/>
                <asp:BoundField DataField="教师姓名" HeaderText="教师姓名" SortExpression="教师姓名" />
                <asp:BoundField DataField="发布时间" HeaderText="发布时间" SortExpression="发布时间" />
                <asp:ButtonField Text="按钮" />
            </Columns>
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:kaoheConnectionString %>" 
            SelectCommand="SELECT [ID], [标题], [教师姓名], [发布时间] FROM [fengong]">
        </asp:SqlDataSource>
    
    </div>
    </form>
</body>
</html>

解决方案 »

  1.   

    想在新页面显示内容,这样
    <asp:HyperLinkField DataNavigateUrlFields="ID" DataTextField="标题" DataNavigateUrlFormatString="~/ShowContent.aspx?id={0}" />
      

  2.   

    本帖最后由 net_lover 于 2012-04-13 08:58:24 编辑
      

  3.   


    ="~/Detail.aspx?id={0}" 中的id会含有对应的id值么?那么在Detail.aspx这页中如果用C#如何调用这个值呢?就直接写id么?
      

  4.   

    我在Default.aspx是这样写的:
    public partial class a_ShowFullPost : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(id);
        }
    }
    结果说是变量id未定义
    怎样才能在这让代码访问到id呢?
      

  5.   


    String id = Request.QueryString["id"];
    Response.Write(id);
      

  6.   

      Response.Write(RequestQueryString["id"]);