C# 从视图导入控制器的Guid?

C# 从视图导入控制器的Guid?,c#,asp.net,model-view-controller,asp.net-core,C#,Asp.net,Model View Controller,Asp.net Core,此代码: public async Task<JsonResult> GetLatLong(int? id) { if (id == null) { throw new ArgumentNullException(nameof(id)); } //Guid idGuid; //Guid.TryParse(

此代码:

       public async Task<JsonResult> GetLatLong(int? id)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }
            //Guid idGuid;
            //Guid.TryParse(id, out idGuid);
            var flightData = await _context.FlightData.SingleOrDefaultAsync(m => m.ID == id);
            var returnedData = new
            {
                id,
                latitude = flightData.Latitude,
                longitude = flightData.Longitude
            };
            return Json(returnedData);
        }
(也是模型)然后它就不会被调用

视图代码如下所示:

    @section mapscripts {
    <section class="scripts">
        <script type="text/javascript">
            $(document).ready(function() {
                Initialize();
            });

            function Initialize() {

                var dataObject = { id: @Html.ViewData.Model.ID};
                //var dataObject = @Html.ViewData.Model.ID;
                var url = '@Url.Action("GetLatLong", "FlightDatas")';
                $.get(url,
                    dataObject,
                    function (response) {
@节映射脚本{
$(文档).ready(函数(){
初始化();
});
函数初始化(){
var dataObject={id:@Html.ViewData.Model.id};
//var dataObject=@Html.ViewData.Model.ID;
var url='@url.Action(“GetLatLong”、“FlightDatas”);
$.get(url,
数据对象,
功能(响应){
我根本不明白它为什么不起作用。我已经恢复到
int
,它很好。它就像
Guid
不能设置为
id

我甚至在chrome中查看了调试,可以看到guid在dataobject中。java对我的guid做了什么吗?
迷路了!
谢谢

约翰

哇,我显然已经看这个太久了。非常感谢mjwills的指点

var dataObject = { id: @Html.ViewData.Model.ID};
改为

var dataObject = { id: "@Html.ViewData.Model.ID"};
以及控制器:

    public async Task<JsonResult> GetLatLong(string id)
    {
        if (id == null)
        {
            throw new ArgumentNullException(nameof(id));
        }
        Guid idGuid;
        Guid.TryParse(id, out idGuid);
        var flightData = await _context.FlightData.SingleOrDefaultAsync(m => m.ID == idGuid);
public异步任务GetLatLong(字符串id)
{
if(id==null)
{
抛出新ArgumentNullException(nameof(id));
}
Guid idGuid;
Guid.TryParse(id,out-idGuid);
var flightData=await _context.flightData.SingleOrDefaultAsync(m=>m.ID==idGuid);

现在一切都很完美了

Guid是由.net创建的唯一标识符。类似这样的东西:9de31e20-3fcc-422d-a332-08d5f6cff646 dataObject={id:@Html.ViewData.Model.id};Been dataObject={id:9de31e20-3fcc-422d-a332-08d5f6cff646};is
dataObject={id:9de31e20-3fcc-422d-a332-08d5f6cff646};
valid JS?什么使它有效?让我们有一个不同的例子。假设我有
var bob=Hello World;
-我该怎么做才能使它有效?
    public async Task<JsonResult> GetLatLong(string id)
    {
        if (id == null)
        {
            throw new ArgumentNullException(nameof(id));
        }
        Guid idGuid;
        Guid.TryParse(id, out idGuid);
        var flightData = await _context.FlightData.SingleOrDefaultAsync(m => m.ID == idGuid);