asp.net mvc 3 -通过Javascript将值传递给控制器返回视图
asp.net mvc 3 - Passing values to Controller via Javascript return View MVC3 Razor
我是全新的MVC。我试图将使用地理位置获得的经度和纬度值传递给控制器,以便我可以使用这些值来识别并从数据库中提取正确的数据。
这是我的Javascript
function auto_locate() {
alert("called from station");
navigator.geolocation.getCurrentPosition(show_map);
function show_map(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var locstring = latitude.toString() + "." + longitude.toString();
var postData = { latitude: latitude, longtitude: longitude }
alert(locstring.toString());
}
}
所有这些都可以正常工作;
现在我需要做的是传递postData或locstring给我的控制器。它看起来像这样:
[HttpGet]
public ActionResult AutoLocate(string longitude, string latitude)
{
new MyNameSpace.Areas.Mobile.Models.Geo
{
Latitude = Convert.ToDouble(latitude),
Longitude = Convert.ToDouble(longitude)
};
// Do some work here to set up my view info then...
return View();
}
我已经搜索和研究了,我还没能找到一个解决方案。
我如何从HTML调用上面的javascript。ActionLink并获取longtide和Latitude到我的控制器?
您可以使用AJAX:
$.ajax({
url: '@Url.Action("AutoLocate")',
type: 'GET',
data: postData,
success: function(result) {
// process the results from the controller
}
});
其中postData = { latitude: latitude, longtitude: longitude };
.
或者如果你有一个actionlink:
@Html.ActionLink("foo bar", "AutoLocate", null, null, new { id = "locateLink" })
你可以像这样ajax化这个链接:
$(function() {
$('#locateLink').click(function() {
var url = this.href;
navigator.geolocation.getCurrentPosition(function(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var postData = { latitude: latitude, longtitude: longitude };
$.ajax({
url: url,
type: 'GET',
data: postData,
success: function(result) {
// process the results from the controller action
}
});
});
// cancel the default redirect from the link by returning false
return false;
});
});
相关文章:
- 从控制器返回后Ajax启动事件激发
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 将从控制器返回的selectbox值动态呈现为json
- 如何从服务器端控制器返回或调用已签名的小程序的方法
- 如何从控制器返回对象列表并使用JQuery(SpringMVC,ajax)显示它们
- 无法使用.ajax调用显示MVC控制器返回的属性值
- 从ajax到控制器返回的变量为null
- 服务不会以角度向控制器返回数据
- 通过 ID 获取元素,为 Sencha 控制器返回 null
- 是否可以使控制器返回模式窗口的数据?MVC5 ASP.NET
- Laravel 5.2 - 在 ajax 请求后从控制器返回视图
- CodeIgniter - 如何从控制器返回 Json 响应
- C# mvc - 控制器返回部分视图或 json 数据
- 从控制器返回 javascript 以查看
- jQuery解析从控制器返回的JSON结果
- 控制器返回纯json数据,而不是停留在页面上
- 从 mvc 控制器返回两个 dienstional 数组作为 json
- 从控制器返回Json数据以查看ASP.NET MVC
- 使用工厂和控制器返回数据
- $http没有从Spring MVC REST控制器返回值