Все, что вы хотите сделать, может быть выполнено с помощью шаблонов GridView на вашей странице ASPx.
Вместо того, чтобы позволить GridView определять сами столбцы, определите их с помощью шаблонов, где вы можете добавить элементы управления в виде сетки.,Когда вы привязываете свои данные к представлению таблицы, элементы управления в каждом столбце автоматически привязываются к вашему набору данных.Ниже вы можете увидеть столбец гиперссылки, который использует столбец таблицы данных my_value_database_column
, и это значение передается на новую страницу в GET или в строку запроса.(Передача значений таким способом - HTTP GET).
<asp:GridView ID="AutoPopulateGridView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="My Linked Column">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" href='MyNextPage.aspx?valueToPass=<%#Eval("my_value_database_column").ToString()%>'><%# Eval("column_name_with_text").ToString()%></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="boring column" ItemStyle-CssClass="myHoverClass">
<ItemTemplate>
<%# Eval("other_datatable_column_name").ToString()%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Чтобы получить значение, переданное на следующей странице, в codebehind (файл .cs) получите значение из строки запроса:
public partial class MyNextPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//first page hit
if (!IsPostBack)
{
Response.Write("THE VALUE PASSED WAS '" + Request.QueryString["valueToPass"] + "'");
}
}
}
Также стили могут быть добавлены непосредственно в шаблон gridview на странице ASPx, используя css и псевдо-класс: hover
<style type="text/css">
.myHoverClass {
text-decoration:none;
color:black;
}
.myHoverClass:hover {
cursor: pointer;
color: #47B6D2;
}
</style>