@html.EditorFor(空间数据)

时间:2016-01-04 23:52:19

标签: asp.net-mvc spatial geography

我对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

任何帮助都将不胜感激。

0 个答案:

没有答案