【问题标题】:grid view row contains hyperlink and upon clicking it should display values o that particular row in another page网格视图行包含超链接,单击它应该在另一个页面中显示该特定行的值
【发布时间】:2013-06-26 12:55:02
【问题描述】:

我有一个gridview,它由其中一列中的超链接组成(称为视图详细信息),单击该超链接后,该网格视图的特定行的详细信息应显示在另一个页面的标签中(reports.aspx)。

请帮帮我。到目前为止,我已经尝试过了。

这是我的网格视图

       <asp:GridView ID="GrdViewMyTasks" runat="server" AllowSorting="True" 
            AutoGenerateColumns="False" BackColor="White" BorderColor="#0061C1" 
              BorderStyle="None" CaptionAlign="Bottom" EmptyDataText="No Records Found" 
                Font-Names="Verdana" Font-Size="X-Small" ForeColor="#0061C1" 
                  Height="179px" OnRowDataBound="GrdViewMyTasks_RowDataBound" 
                      ShowFooter="True" ShowHeaderWhenEmpty="True" Width="99%"  onselectedindexchanged="GrdViewMyTasks_SelectedIndexChanged" OnRowCreated="GrdViewMyTasks_RowCreated" >

                           <Columns>
                            <asp:BoundField DataField="Gen_ID" HeaderText="SL No"                ReadOnly="True" Visible="False">
                           <FooterStyle BackColor="#0061C1" />
                            <HeaderStyle BackColor="#0061C1" HorizontalAlign="Center"  VerticalAlign="Middle" />
                           <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                            </asp:BoundField>
                           <asp:TemplateField HeaderText="Task Name">
                            <ItemTemplate>
                                  <asp:Label ID="TaskName" runat="server"  
                              Font-Names="Verdana" Font-Size="X-Small" Height="24px" 
                               Text='<%# Eval("TaskName")%>' Width="70px"></asp:Label>
                      </ItemTemplate>
                            <FooterStyle BackColor="#0061C1" />
                                <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                       <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                   </asp:TemplateField>

                                  <asp:TemplateField HeaderText="Due Date">
                                    <ItemTemplate>
                                          <asp:Label ID="DueDate" runat="server"  
                                         Font-Names="Verdana" Font-Size="X-Small" 
                               Height="20px" Width="70px" Text='<%# Eval("DueDate"," {0:dd/MM/yyyy}")%>' DataFormatString="{0:dd/MM/yyyy}"></asp:Label>
                             </ItemTemplate>
                            <FooterStyle BackColor="#0061C1" />
                    <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                      <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                  </asp:TemplateField>
                <asp:TemplateField HeaderText="Description">
                 <ItemTemplate>
                           <asp:Label ID="Description" runat="server"  
                  Font-Names="Verdana" Font-Size="X-Small" Height="20px" Width="90px"        Text='<%# Eval("Description")%>'></asp:Label>
                         </ItemTemplate>
                      <FooterStyle BackColor="#0061C1" />
                   <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
                   </asp:TemplateField>
                   <asp:TemplateField HeaderText="Assign By">
                      <ItemTemplate>
                           <asp:Label ID="AssignBy" runat="server"  
           Font-Names="Verdana" Font-Size="X-Small" Height="20px" Width="90px" Text='<%# Eval("AssignBy")%>'></asp:Label>
                         </ItemTemplate>
                    <FooterStyle BackColor="#0061C1" />
                       <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                 <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                 </asp:TemplateField>
               <asp:TemplateField HeaderText="Status">
                      <ItemTemplate>
                  <asp:Label ID="Status" runat="server"  
                   Font-Names="Verdana" Font-Size="X-Small" Height="20px" Width="90px"    Text='<%# Eval("Status")%>'></asp:Label>
                      </ItemTemplate>
                     <FooterStyle BackColor="#0061C1" />
                    <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                     <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                     </asp:TemplateField>
                            <asp:TemplateField HeaderText="% Complete">
                                <ItemTemplate>
                           <asp:Label ID="PercentageComplete" runat="server"  
                                       Font-Names="Verdana" Font-Size="X-Small"  
                   Height="20px" Width="50px" Text='<%# Eval("PercentageComplete")%>'>                </asp:Label>
                 </ItemTemplate>
                      <FooterStyle BackColor="#0061C1" />
                    <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                     <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                          </asp:TemplateField>
                       <asp:TemplateField HeaderText="View Details">
                         <ItemTemplate>
                             <asp:HyperLink ID="ViewDetails" runat="server" Font- Names="Verdana" Font-Size="X-Small" Height="24px" Text="View" Width="70px" NavigateUrl="Reports.aspx" ForeColor="#0061C1" DataTexField="ID"  DataNavigateUrlFields="TaskID" DataNavigateUrlFormatString="Reports.aspx?TaskID={0}">View</asp:HyperLink>
                               </ItemTemplate>
                            <FooterStyle BackColor="#0061C1" />
                       <HeaderStyle BackColor="#0061C1" ForeColor="White" />
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                      </asp:TemplateField>
                              </Columns>
                         </asp:GridView>

这是我在行数据绑定的网格视图背后的代码

       if (e.Row.RowType == DataControlRowType.DataRow)
           {
            HyperLink ViewDetails = e.Row.FindControl("ViewDetails") as HyperLink;
            ViewDetails.NavigateUrl = "Reports.aspx?TaskID=" + e.Row.Cells[0].Text;
           }

这是我的代码或reports.aspx,其中应显示网格视图的详细信息

       protected void Page_Load(object sender, EventArgs e)
         {
             MTMSService obj = new MTMSService();
             DBAccess db = new DBAccess();
           {
                MTMSDTO objc = new MTMSDTO();
              {
                objc.TaskID = Convert.ToInt32(Session["TaskID"]);
                DataSet rep = obj.GetReports(objc);
                DataView Rprts = new DataView();
                Rprts.Table = rep.Tables[0];


                LblTaskName.Visible = true;
                LblAssignBy.Visible = true;
                LblDescription.Visible = true;
                LblDueDate.Visible = true;
                LblStatus.Visible = true;
                LblPercentageComplete.Visible = true;
                LblAssignTo.Visible = false;
            }
        }
    }

存储过程

              ALTER PROCEDURE [dbo].[GetReports]

              @TaskID int

              AS

             Select TaskName, DueDate, Description, AssignBy, Status, PercentageComplete

             From dbo.Task

             Where TaskID = @TaskID;

【问题讨论】:

    标签: c# asp.net gridview hyperlink


    【解决方案1】:

    替换这个

    objc.TaskID = Convert.ToInt32(Session["TaskID"]); 
    

    objc.TaskID = Convert.ToInt32(Request.QueryString["TaskID"].tostring());
    

    【讨论】:

    • 听起来“TaskID”不是数字。
    • 这是一个数字。如果需要,我会分享我的数据
    • 谁能回复我
    • 请帮帮我..我在过去 1 周内一直在苦苦挣扎
    【解决方案2】:

    伙计们,我使用 gridview 而不是标签来显示 d 超链接值。所以这是它的代码

    cs代码:

     protected void GrdViewMyTasks_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink ViewDetails = e.Row.FindControl("ViewDetails") as HyperLink;
                ViewDetails.NavigateUrl = "Reports.aspx?TaskID=" + e.Row.Cells[0].Text;
            }
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ((Label)e.Row.Cells[0].FindControl("Description")).Attributes.Add("style", "word-break:break-all;word-wrap:break-word");
            }
        }
    
    protected void GrdViewMyTasks_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "cmdLink")
            {
                string TaskID = Convert.ToString(e.CommandArgument.ToString());
                Response.Redirect("Reports.aspx?TaskID=" + TaskID);
            }
        }
    

    aspx代码:

    <asp:TemplateField HeaderText="View Details">
     <ItemTemplate>
       <asp:HyperLink ID="ViewDetails" runat="server" DataNavigateUrlFields="TaskID" 
        DataNavigateUrlFormatString="Reports.aspx?TaskID={0}" Font-Names="Verdana" 
        Font-Size="X-Small" ForeColor="Red" Font-Bold="true" Height="30px" Width="100px"
        NavigateUrl="Reports.aspx" Text="ViewDetails" >View</asp:HyperLink>
     </ItemTemplate>
     <FooterStyle BackColor="LightSlateGray"  />
     <HeaderStyle BackColor="LightSlateGray"  ForeColor="White" Width="90px"  />
     <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
     </asp:TemplateField>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多