我有一个gridview
,它显示所有包含TaskId
,Title
,Reward
,Time Allotted
,Poster Name
列的数据库表。虽然我的所有SqlConnection
代码都存在于另一个用于将数据插入数据库表的webform中。
以下是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
的新webform上,我有一个gridview
,它连接到该数据库表并显示表中的任务列表。
同样,我还没有在default.aspx.cs
上编写任何代码。
我需要做的是将Title
作为gridview
中的超链接,我可以单击该超链接并获取与行相符的不同页面。可以这样做吗?或者我应该使用所有行上的按钮来相应地访问其他页面。怎么办?
我没有使用gridview
的经验。
答案 0 :(得分:3)
<telerik:GridTemplateColumn HeaderText="Action">
<ItemTemplate>
<a id="A1" runat="server" href='<%# @"~\Demolink.aspx"+( Eval("Record_ID").ToString()) %>'>
<%#Eval("Title ") %> </a>
</ItemTemplate>
</telerik:GridTemplateColumn>
答案 1 :(得分:2)
是的,您当然可以使用超链接标题。要提供超链接,您可以使用 TemplateField ,如下面的代码示例中所述:
<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>
注意:这里我使用了stackoverflow网站网址。相反,你可以使用你的网页的网址。
答案 2 :(得分:2)
根据您的要求,将所有数据获取到数据集或数据表并将其绑定到gridview。在default.aspx标记中,我们可以使用<asp:TemplateField><ItemTemplate></ItemTemplate></asp:TemplateField>
标记中的<Columns>
以不同的方式将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>
答案 3 :(得分:0)
<asp:TemplateField>
<ItemTemplate>
<a href="htttp://www.mydummyurl.com"><%#Eval("Title") %> </a>
</ItemTemplate>
</asp:TemplateField>
这应该有效!