Гиперссылка в GridView Control - PullRequest
2 голосов
/ 19 мая 2011

Как разместить гиперссылку внутри определенного столбца сетки. данные поступают из набора данных

Вот мой код

        scon.Open();
        scom.CommandText = "StoredProcedure5";
        scom.CommandType = CommandType.StoredProcedure;
        scom.Connection = scon;
        string FunArea = DDlFunctionalArea.SelectedItem.Text + "%";
        scom.Parameters.Add("@FunctionalArea", SqlDbType.VarChar).Value = FunArea;
        scom.Parameters.Add("@KeySkill",SqlDbType.VarChar).Value=txtKeySkill.Text;
        scom.ExecuteNonQuery();
        sda.SelectCommand = scom;
        sda.Fill(ds, "tblJobSeeker");

        GridView1.DataSource=ds.Tables[0];
        GridView1.DataBind();

В каком поле есть адрес электронной почты Когда данные связываются с Gridview, поле EmailAddress содержит HyperLink, поэтому, когда я нажимаю на адрес электронной почты, чтобы перейти на другую страницу

Ответы [ 4 ]

2 голосов
/ 19 мая 2011

Вы должны добавить поле шаблона, как ...

 <asp:TemplateField HeaderText="HeaderText">
      <ItemTemplate>
          <asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink>
      </ItemTemplate>
 </asp:TemplateField>
1 голос
/ 19 мая 2011
<asp:TemplateField>
            <ItemTemplate>
            <asp:HyperLink id="hplDate" runat="server" Text='<%# Eval("email")%>' NavigateUrl='<%# "~/yourpage.aspx?email="+Eval("email") %>'></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>

Получите письмо на своей странице через строку запроса.

1 голос
/ 19 мая 2011

Используйте приведенный ниже код в GridView и привязывайте столбцы.

<asp:TemplateField>
                <ItemTemplate>
                <asp:HyperLink id="hplink" runat="server" Text='<%# Bind("columnname")%>' NavigateUrl='<%# Bind("columnname")%>'></asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>
0 голосов
/ 19 мая 2011

Используйте этот синтаксис:

<asp:TemplateField>
  <ItemTemplate>
    <a href='PageToNavigate?email=<%# Bind("EmailColumn")%>'><%# Bind("TextToEmailColumn")%></asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField>

или

<asp:TemplateField>
  <ItemTemplate>
    <asp:HyperLink id="hplink" runat="server" Text='<%# Bind("columnname")%>' NavigateUrl='<%# Bind("columnname")%>'></asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField>

и используйте ItemDataBoundHandler:

protected void sgrAssignedRequests_ItemDataBound(object sender, GridViewEditEventArgs e)
{
  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  {
    var hpl = (HyperLink)e.FindControl("hplink");
    // set values here
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...