我是ASP / MVC的新手,并且开始使用一个简单的应用程序开始学习。
我在控制器中有如下对象的集合
public ActionResult loadimage(String FQDN, String trange)
{
List<geo_crd> Geo_crd = new List<geo_crd>();
//more logic
foreach (ToDoItem T in query1)
{
IEnumerable<GeoItem> query2 = (from b in db1.GeoItems
where b.DNS_server_address == T.DNS_server_address
select b);
foreach (GeoItem X in query2)
{
Geo_crd.Add(new geo_crd(X.DNS_latitude, X.DNS_longitude, 1));
}
}
return View(Geo_crd);
}
Geo_crd在模型中如下
namespace ToDoApp.Models
{
public class geo_crd
{
private Decimal _geo_lat;
private Decimal _geo_long;
private int _status_flag;
public geo_crd(Decimal x, Decimal y, int z)
{
_geo_lat = x;
_geo_long = y;
_status_flag = z;
}
public Decimal geo_lat
{
get { return _geo_lat; }
set { _geo_lat = value; }
}
public Decimal geo_long
{
get { return _geo_long; }
set { _geo_long = value; }
}
public int status_flag
{
get { return _status_flag; }
set { _status_flag = value; }
}
}
}
我在视图中收到如下
@model IEnumerable <ToDoApp.Models.geo_crd>
// more code here
<script type="text/javascript">
@foreach (var item in Model){
<spam><li> @item.geo_lat </li></spam>
<span> <li> AddLocationPin(@item.geo_lat, @item.geo_long, null, 'place 1');</li> </span>
}
</script>
我遇到的问题是,服务器没有发送AddlocatioPin,我猜它只是忽略它。
我正在做一些非常愚蠢的事情吗? 请帮忙答案 0 :(得分:1)
您不应使用script
包装html标记。
开始和结束标记,它们的顺序必须在html中匹配。您还应该阅读有关HTML ul tag
正确的观点将是
@model IEnumerable <ToDoApp.Models.geo_crd>
//more code here
<ul>
@foreach (var item in Model)
{
<li><span>@item.geo_lat </span></li>
<li><span>AddLocationPin(@item.geo_lat, @item.geo_long, null, 'place 1'); </span> </li>
}
</ul>