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);