解决方案 »

  1.   

    每行都有一个ID 你可以通过传入页面,根据不同ID读取不同新闻
      

  2.   

    <asp:GridView 
                ID="GridView1" runat="server" 
                AutoGenerateColumns="False" CellPadding="4" 
                GridLines="None" Height="184px" Width="742px" DataSourceID="SqlDataSource2" 
                onselectedindexchanged="GridView1_SelectedIndexChanged" 
                ForeColor="#333333">
                <AlternatingRowStyle BackColor="White" />
                <Columns>
                    <asp:TemplateField HeaderText="编号" HeaderStyle-Width="50px"> <ItemTemplate> 
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("编号") %>'></asp:Label>
                        </ItemTemplate> 
                       
    <HeaderStyle Width="50px"></HeaderStyle>
                       
                    </asp:TemplateField> 
                    <asp:TemplateField HeaderText="日期" HeaderStyle-Width="64px">
                        <ItemTemplate>
                            <asp:Label ID="Label2" runat="server" Text='<%# Eval("日期") %>'></asp:Label>
                        </ItemTemplate>
                        
    <HeaderStyle Width="80px"></HeaderStyle>
                        
                    </asp:TemplateField>
                    <asp:HyperLinkField HeaderText="新闻" HeaderStyle-Width="190px" 
                        DataNavigateUrlFields="编号,新闻" DataNavigateUrlFormatString="7.aspx?编号={0}&amp;新闻={1}" 
                     
                        DataTextField="新闻"  > <HeaderStyle Width="150px"></HeaderStyle>
                    </asp:HyperLinkField>               
                    <asp:CommandField ButtonType="Image" DeleteImageUrl="~/image/13.gif" 
                        HeaderText="删除" ShowDeleteButton="True" HeaderStyle-Width="50px">
    <HeaderStyle Width="50px"></HeaderStyle>
                    </asp:CommandField>
                </Columns>
                <EditRowStyle BackColor="#7C6F57" />
                <FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" />
                <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#E3EAEB" />
                <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#F8FAFA" />
                <SortedAscendingHeaderStyle BackColor="#246B61" />
                <SortedDescendingCellStyle BackColor="#D4DFE1" />
                <SortedDescendingHeaderStyle BackColor="#15524A" />
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                ConnectionString="<%$ ConnectionStrings:yhglConnectionString %>" 
                SelectCommand="SELECT * FROM [xinwen]"></asp:SqlDataSource>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:yhglConnectionString2 %>" 
                SelectCommand="SELECT * FROM [xinwen]"></asp:SqlDataSource>
        </p>这是前台gridview代码
      

  3.   

     <a href="javascript:void(0);" onclick="WinOpen('ViewProject.aspx?Type=show&pid=<%#HelpBLL.Encode(DataBinder.Eval(Container.DataItem,"ProjectID").ToString())%>','560px','540px');">
      

  4.   

     <asp:GridView ID="GridView1" runat="server">
             <Columns>
               <asp:TemplateField HeaderText="序号">
                                    <ItemTemplate>
                                        <%#Container.DataItemIndex+1 %>
                                    </ItemTemplate>
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:TemplateField>
            <asp:TemplateField HeaderText="项目名称">
                                    <ItemTemplate>
                                        <a href="a.aspx?id= <%#Eval("ID")%>">
                                            </a>
                                    </ItemTemplate>
                                    <HeaderStyle HorizontalAlign="Left" />
                                </asp:TemplateField>
               </Columns>
            </asp:GridView>
      

  5.   

    ?我这是HyperLinkField不是TemplateField
      

  6.   

    HyperLinkField一样可以啊
            <asp:GridView ID="GridView1" runat="server">
             <Columns>
               <asp:TemplateField HeaderText="序号">
                                    <ItemTemplate>
                                        <%#Container.DataItemIndex+1 %>
                                    </ItemTemplate>
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:TemplateField>
            <asp:TemplateField HeaderText="项目名称">
                                    <ItemTemplate>
                                        <a href="a.aspx?id= <%#Eval("ID")%>">
                                            </a>
                                    </ItemTemplate>
                                    <HeaderStyle HorizontalAlign="Left" />
                                </asp:TemplateField>
                 <asp:HyperLinkField NavigateUrl="~/About.aspx?id= <%#Eval("ID")%>" />
               </Columns>
            </asp:GridView>
      

  7.   

      <asp:HyperLinkField NavigateUrl="~/About.aspx?id= <%#Eval("ID")%>" /> 换成 <asp:HyperLinkField NavigateUrl='\~/About.aspx?id= <%#Eval("ID")%>' />
      

  8.   

    <asp:HyperLinkField NavigateUrl='\~/7.aspx?id= <%#Eval("编号")%>'  HeaderText="新闻" HeaderStyle-Width="190px" 
                        DataNavigateUrlFields="编号" DataNavigateUrlFormatString="news1.aspx?编号={0}" 
                     
                        DataTextField="新闻" SortExpression="新闻" Target="_blank" > 
                 
    <HeaderStyle Width="150px"></HeaderStyle>
                    </asp:HyperLinkField>是这样写吗
      

  9.   

    还是每次弹出的都是一个页面“news1.aspx”
      

  10.   

    你意思是都是要跳到new1.aspx页面,但是根据不同行传的id不同,然后到new1.aspx页面显示的数据不同是把,那你看看跳过去后url是什么?
      

  11.   

    看你代码貌似没问题,你看看你数据源的编号,新闻那两列数据对不对,怎么gridview里面每行都一样的。
      

  12.   

    你看你的编号,text绑定的是
      编号那一列,结果每行显示的都是abc
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("编号") %>'></asp:Label>
    这个参数绑定的是编号和新闻, 文本绑的是新闻,结果每行显示也都是abc,那你最后地址肯定会是7.aspx?编号=abc&新闻=abc",都是一样链接地址,当然看到的页面是一样的,看看你数据源是不是所有都是abc.                   <asp:HyperLinkField HeaderText="新闻" HeaderStyle-Width="190px" 
                        DataNavigateUrlFields="编号,新闻" DataNavigateUrlFormatString="7.aspx?编号={0}&amp;新闻={1}" 
                     
                        DataTextField="新闻"  > 
      

  13.   


    news1是当前页面 新闻页面是7-15.aspx
      

  14.   

    我试用了你这种方法,<ItemTemplate>
                                        <a href="a.aspx?id= <%#Eval("ID")%>">
                                            </a>
                                    </ItemTemplate>只能有一个a href吗 我写了几个链接,结果几个都挤在一行去了 而且每行重复
      

  15.   

    这里代码这样写没问题,,你是news1页面绑定数据,然后点超链接跳到7页面,url传了编号和新闻2个参数过去,但是你news1页面绑定的数据根本就不对,没行的数据都一样的,编号是一样的,新闻也是一样的,根本传过去的参数就是一样的,那页面显示的当然是一样的。是你数据绑定不对,你看下你的gridview的数据源是什么样的,从数据库查的,还是自己手写的List集合。反正数据源绑定就不对。
      

  16.   

            <asp:GridView ID="gvBooks" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="BookId" CellPadding="5" Width="755px"
                onrowcancelingedit="gvBooks_RowCancelingEdit" 
                onrowdeleting="gvBooks_RowDeleting" onrowediting="gvBooks_RowEditing" 
                onrowupdating="gvBooks_RowUpdating">
                <Columns>
                    <asp:TemplateField HeaderText="">
                        <ItemTemplate>
                            <asp:Button ID="btnDelete" runat="server" Text="删除" CommandName="delete" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="书名">
                        <ItemTemplate>
                            <asp:Label ID="lblBookName" runat="server" Text='<%# Eval("BookName") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBookName" runat="server" Text='<%# Eval("BookName") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="作者">
                        <ItemTemplate>
                            <asp:Label ID="lblBookAuthor" runat="server" Text='<%# Eval("BookAuthor") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBookAuthor" runat="server" Text='<%# Eval("BookAuthor") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="出版日期">
                        <ItemTemplate>
                            <asp:Label ID="lblBookPublisher" runat="server" Text='<%# Eval("BookPublisher") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBookPublisher" runat="server" Text='<%# Eval("BookPublisher") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="价格">
                        <ItemTemplate>
                            <asp:Label ID="lblBookPrice" runat="server" Text='<%# Eval("BookPrice") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBookPrice" runat="server" Text='<%# Eval("BookPrice") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="操作">
                        <ItemTemplate>
                            <asp:Button runat="server" Text="编辑" CommandName="edit"/>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:Button runat="server" Text="更新" CommandName="Update"/>
                            <asp:Button ID="cancel" runat="server" Text="取消" CommandName="Cancel"/>
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:HyperLinkField Text="详细信息" ControlStyle-Font-Underline="true" DataNavigateUrlFields="BookId" 
                     DataNavigateUrlFormatString="BookMinute.aspx?bookId={0}"/>
                </Columns>
                <HeaderStyle BackColor="#4380CC" ForeColor="White" Font-Names="黑体" />
                <RowStyle HorizontalAlign="Center" BackColor="#EFF3FB" Font-Size="Smaller"/>
                <AlternatingRowStyle BackColor="#DCDEDC"/>
            </asp:GridView>
      

  17.   

    按照详细信息那个HyperLinkFieId那个方法做。跳到另一个页面。传过去的是DataNavigateUrlFields="BookId"。把BookId,换成你新闻的ID
      

  18.   

    貌似还有种写法就是用<a href>我也试过 自己写的代码如下但是结果成了这样
      

  19.   

    表--- 编号 日期 内容 
    显示--循环读数据库
    <a>---<a href="a.aspx?id=<%# Eval('编号')>"> <%# Eval("编号")> </a>
      

  20.   

    <table>
                <tr>
                    <td>编号</td>
                    <td>日期</td>
                    <td>新闻</td>
                </tr>
                <asp:Repeater ID="rtpReceived" runat="server" >
                <ItemTemplate>
                    <tr>
                        <td><%#Eval("编号")%></td>
                        <td><%#Eval("日期")%></td>
                        <td>
                            <a href="a.aspx?id=<%# Eval('编号') %>"> <%# Eval("编号") %> </a>
                        </td>
                    </tr>                                                       
                </ItemTemplate>
                </asp:Repeater>
            </table>
    Eval里的改成数据库对应列名
      

  21.   

    不是用的gridview吗怎么变成了table啊
      

  22.   

    0.0,好吧,估计你代码都是copy的,你那数据是从数据库查的,还是自己写的死的。直接给你写个得了,说了也不知道。
      

  23.   

    0.0,好吧,估计你代码都是copy的,你那数据是从数据库查的,还是自己写的死的。直接给你写个得了,说了也不知道。0.0,好吧,估计你代码都是copy的,你那数据是从数据库查的,还是自己写的死的。直接给你写个得了,说了也不知道。
    需要的话+扣82858040
      

  24.   

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:yhglConnectionString2 %>" 
                SelectCommand="SELECT * FROM [xinwen]"></asp:SqlDataSource>
        </p>你查的是 xinwen这个表,自己去看看你那表的数据把。
      

  25.   

    我设计了第二个页面news2  采用了<a href>的写法,但出现了如38楼的情况
      

  26.   

    ,你数据库是这些东西?然后你用数据源控件,然后你绑定到gridview,全部变abc了。神奇
      

  27.   

    ,你数据库是这些东西?然后你用数据源控件,然后你绑定到gridview,全部变abc了。神奇
    在vs里当然显示的都是abc 调试时能显示新闻
      

  28.   

    你看显示,本来你数据库根本没这些信息,结果编号全部变abc,新闻变abc,时间都一样,你本身gridview里面的代码没问题,绑定的字段名明显没错。
      <asp:HyperLinkField HeaderText="新闻" HeaderStyle-Width="190px" 
                        DataNavigateUrlFields="编号,新闻" DataNavigateUrlFormatString="7.aspx?编号={0}&amp;新闻={1}" 
    这也没错,本来就是把编号,新闻绑定作为参数传过去,但是你根本gridview绑定上来的数据就不对。每行都一样,试问结果跳转的能不一样吗?
     <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                ConnectionString="<%$ ConnectionStrings:yhglConnectionString %>" 
                SelectCommand="SELECT * FROM [xinwen]"></asp:SqlDataSource>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:yhglConnectionString2 %>" 
                SelectCommand="SELECT * FROM [xinwen]"></asp:SqlDataSource>
    你这有2个数据源控件,你gridview绑的是sqldatasource2,你看看你的连接字符串有问题没,是不是你查的那个数据库。顺便清下缓存。不是你数据源问题,我就觉得见鬼了。
      

  29.   

    然后,点不同行,页面上显示的url是什么,相同?
      

  30.   

    是啊 都是news1.aspx 即当前的页面。我的新闻页面名字分别是7——12.aspx
      

  31.   

    [email protected]只做参考啊,想以后找开发工作还是要靠自己学习
      

  32.   

    是啊 都是news1.aspx 即当前的页面。我的新闻页面名字分别是7——12.aspx
      

  33.   

    是啊 都是news1.aspx 即当前的页面。我的新闻页面名字分别是7——12.aspx像你7.aspx?编号={0}&amp;新闻={1}这么写,,应该是7.aspx?编号x新闻y  呀。。什么是7-12.aspx,难道你写了6个页面?
      

  34.   

    是啊 都是news1.aspx 即当前的页面。我的新闻页面名字分别是7——12.aspx像你7.aspx?编号={0}&amp;新闻={1}这么写,,应该是7.aspx?编号x新闻y  呀。。什么是7-12.aspx,难道你写了6个页面?
    确实写了6个页面  为每个新闻都做了独立的一个aspx页面显示详细内容 点击不同链接显示不同新闻的详细内容
      

  35.   

    0.0,那你早该把问题说清楚呀,7,8,9,10,11,12,6个页面,那你 DataNavigateUrlFields="memberid,username" 
     DataNavigateUrlFormatString="7.aspx?编号={0}&amp;新闻={1}" 
    这样写有什么意义,每次都是跳7.aspx页面去了传的参数不同都没什么意义,直接点的操作,直接在数据库加1列url,把每条信息该跳转的页面的7,8,9,10,11,12写里头,
    然后页面写DataNavigateUrlFields="url" 
     DataNavigateUrlFormatString="{0}.aspx";
    就可以了
      

  36.   

    难道要在gridview也加一列url?
      

  37.   

    恩 还有就是实现点击后面的红叉删掉这行新闻信息 我用的是CommandField里头的删除 地址~/image/13.gif