Получение значения из списка, привязанного к Listview

#asp.net

#asp.net

Вопрос:

Язык Used:C#.NET Всем привет, у меня есть список сотрудников, как показано ниже:

 public class Employee
{
   public string EmpID { get; set; }
   public string EmpName { get; set; }
}

List<Employee> emp = new List<Employee>();
  

Теперь я привязываю его к представлению списка и генерирую URL-адрес для атрибута href тега внутри представления списка.Но я получаю неправильно сформированный тег сервера, пожалуйста, помогите.
asp-код выглядит следующим образом:

 <asp:ListView ID="lstView" runat="server">
    <ItemTemplate>
        <a runat="server" href="/Employee.aspx?EmpIDId=<%# DataBinder.Eval(Container.DataItem,'EmpID') %>amp;EmpName=<%# DataBinder.Eval(Container.DataItem,'EmpName') %>"> </a>
    </ItemTemplate>
</asp:ListView>  
  

Ответ №1:

попробуйте это

  <a id="A1" runat="server" href='<%#string.Format("Employee.aspx?EmpIDId={0}amp;EmpName={1}",Eval("EmpID"),Eval("EmpName"))%>'>
                    <%#Eval("EmpName")%>
                </a>
  

Для полного примера ознакомьтесь со следующим кодом

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListView ID="lstView" runat="server">
            <ItemTemplate>
                <a id="A1" runat="server" href='<%#string.Format("Employee.aspx?EmpIDId={0}amp;EmpName={1}",Eval("EmpID"),Eval("EmpName"))%>'>
                    <%#Eval("EmpName")%>
                </a>
            </ItemTemplate>
        </asp:ListView>
    </div>
    </form>
</body>
</html>
  

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Web.Script.Services;

public partial class Default3 : System.Web.UI.Page
{
    public class Employee
    {
        public string EmpID { get; set; }
        public string EmpName { get; set; }

        public static List<Employee> Employees
        {

            get
            {
                return new List<Employee>()
                {
                    new Employee{EmpID="1",EmpName="X"},
                    new Employee{EmpID="2",EmpName="Y"},
                    new Employee{EmpID="3",EmpName="Z"}
                };
            }
        }




    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lstView.DataSource = Employee.Employees;
            lstView.DataBind();
        }
    }




}