我对MVC很新,所以这可能是一个简单的答案,但是,因为没有其他数据类型显然像这样,我在Google上找不到任何东西。
我的模型有一个dbgeography类型的字段。当我使用@Html.EditiorFor()帮助器时,它会添加大约十几个不同的字段。我的目标是只询问用户的纬度和经度,并使用4326的静态CoordinateSystemID。其他任何字段都与我的用户将创建的地理对象无关。
我的模特是
namespace MM.Models
{
using System;
using System.Collections.Generic;
public partial class Projects
{
public int ProjectID { get; set; }
public System.Data.Entity.Spatial.DbGeography BeginPosition { get; set; }
public System.Data.Entity.Spatial.DbGeography EndPosition { get; set; }
}
}
我的观点(只是脚手架)看起来像:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Projects</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.ProjectID)
<div class="form-group">
@Html.LabelFor(model => model.BeginPosition, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BeginPosition, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.BeginPosition, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.EndPosition, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.EndPosition, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.EndPosition, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
结果是: Screenshot
任何帮助都将不胜感激。