2014-04-02 79 views
0

添加超鏈接我有一個gridview其中顯示了所有的列TaskIdTitleRewardTime AllottedPoster Name數據庫表。雖然我所有的SqlConnection代碼都存在於另一個用於將數據插入數據庫表的webform中。在GridView控件

這是我在InsertTask.aspx.cs網頁代碼:

protected void btnPost_Click(object sender, EventArgs e) 
{ 
    string CS = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString; 

    using (SqlConnection con = new SqlConnection(CS)) 
    { 
     SqlCommand cmd = new SqlCommand("spTasks", con); 
     cmd.CommandType = System.Data.CommandType.StoredProcedure; 

     cmd.Parameters.AddWithValue("@Title", txtTitle.Text); 
     cmd.Parameters.AddWithValue("@Body", txtBody.Text); 
     cmd.Parameters.AddWithValue("@Reward", txtRewards.Text); 
     cmd.Parameters.AddWithValue("@TimeAllotted", txtTime.Text); 
     cmd.Parameters.AddWithValue("@PosterName", txtPoster.Text); 

     con.Open(); 
     cmd.ExecuteNonQuery(); 
     lblStatus.Text = "Task Posted Successfully."; 
    } 
} 

這將插入任務順利數據庫表。因此,在一個新的網絡表格default.aspx上,我有一個連接到該數據庫表的gridview,並在表中顯示了一個任務列表。

同樣,我沒有在default.aspx.cs上寫任何代碼。

我需要做的是讓Title作爲gridview中的超鏈接,我可以點擊並獲取與行對應的不同頁面。可以這樣做嗎?或者我應該使用所有行上的按鈕來相應地訪問其他頁面。如何做到這一點?

有人請幫助我。我沒有gridview的經驗,我需要緊急完成這個項目。提前致謝。

+0

您可以使用Template字段內的鏈接按鈕或使用CommandField和Set ButtonType =「Link」。 – GMD

回答

2

根據您的要求獲取所有數據到數據集或數據表,並綁定到gridview。而在Default.aspx的標記我們可以<Columns>標籤

這裏使用<asp:TemplateField><ItemTemplate></ItemTemplate></asp:TemplateField>轉換的GridView列以不同的方式超鏈接字段我添加了兩個控件一個是HTML超鏈接等是ASP:超鏈接

<asp:GridView runat="server" ID="gvrecords" AutoGenerateColumns="false" DataKeyNames="Title"> 
<Columns> 
<asp:TemplateField> 
<ItemTemplate> 
<asp:HyperLink ID="HyperLink1" Text='<%# Bind("Title") %>' NavigateUrl='<%# Bind("Title", "~/../urpath/{0}") %>' runat="server"/> 
<a href ='<%#"page.aspx?TitleID="+DataBinder.Eval(Container.DataItem,"TitleId") %>'> <%#Eval("Title") %> </a> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 
+0

是的,工作。謝謝 – Mash

2

是當然的,你可以使用超級鏈接的標題。爲了提供超鏈接,您可以使用模板列如下代碼示例提到:

<asp:GridView runat="server" ID="gridTask" AutoGenerateColumns="False"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <a href="htttp://www.stackoverflow.com"><%#Eval("Title") %> </a> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="Body" HeaderText="Body" /> 
     <asp:BoundField DataField="Reward" HeaderText="Reward" /> 
    </Columns> 
</asp:GridView> 

注:這裏我用計算器網站的網址。相反,您可以使用您網頁的網址。

+3

下來投票人不投票回答沒有評論,直到你沒有強大的理由投票。 – SpiderCode

0
<asp:TemplateField> 
     <ItemTemplate> 
      <a href="htttp://www.mydummyurl.com"><%#Eval("Title") %> </a> 
     </ItemTemplate> 
</asp:TemplateField> 

這應該工作!

+0

你的答案如何與SpiderCode的不同?張貼之前請閱讀其他答案..! – pravprab

3
<telerik:GridTemplateColumn HeaderText="Action"> 
       <ItemTemplate> 
        <a id="A1" runat="server" href='<%# @"~\Demolink.aspx"+(Eval("Record_ID").ToString()) %>'> 
         <%#Eval("Title ") %> </a> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn>