【发布时间】:2011-07-19 12:04:35
【问题描述】:
我正在尝试使用从地图控件中检索到的 2 个值将我的模型发送回控制器。我认为最好的解决方案是将这些值放在隐藏输入“Html.hiddenfor()”中,以便控制器接收模型中的值。
这是我的 JavaScript
endDragDetails = function (e) {
alert("Event Info - start drag \n" + "Start Latitude/Longitude: " + e.entity.getLocation());
var locationx = e.entity.getLocation();
alert(locationx.latitude);
document.getElementById("longitude").value = parseFloat(locationx.longitude);
}
警报框显示 locationx var 中有一个浮点值。我试过用 parseFloat() 函数传递它以防浮点数实际上是一个字符串。经度的 id 确实是“经度”,我在 html 源代码中检查过。
这是我的cshtml部分
@Html.HiddenFor(m => m.longitude);
我得到的只是一个 0,0。 我在这个解决方案中遗漏了什么吗?
UPDATE 如果我用 @Html.TextBoxFor(m => m.longitude) 更改 hiddenfor,它会在执行 javascript 方法后在我的文本框中显示经度。但是它不会将其发送到控制器,该值保持为 0,0。但是,它确实将我的所有其他值(例如名字字符串,...)发送到控制器。
【问题讨论】:
标签: javascript asp.net-mvc asp.net-mvc-3 floating-point