如何将服务器端类型传递给 asp.net Web 表单以供 JavaScript 使用
how to pass a serverside Type to asp.net webform for javascript consumption
我目前正在尝试将已知的类型(列表)传递给需要在页面加载时由javascript拾取的 asp.net 网络表单。
我正在创建的模拟数据如下所示:
protected List<MapCoords> createCoordinateList()
{
List<MapCoords> latlng = new List<MapCoords>();
MapCoords m = new MapCoords();
m.xCoord = 34.241182;
m.yCoord = -77.946839;
latlng.Add(m);
m.xCoord = 34.242176;
m.yCoord = -77.94538;
latlng.Add(m);
return latlng
}
我卡住的地方(也许只是在一天的晚些时候)是过去我进行了 ajax 调用并在结果成功后将对象返回到页面。但是,在这种情况下,此模拟数据是由服务器端事件生成的,因此 ajax 不用于调用或调用该方法。由于对象具有多个属性 (x,y),因此我不能只将值设置为隐藏字段,这就是为什么我认为这需要作为对象传递。 如果推到推,我可以使用 ajax 来调用该方法,但这几乎是对我正在尝试做的事情的双重调用,所以我想避免这是可能的
所以问题是我如何获取包含坐标的列表并使客户端中的 javascript 可以访问它?这种类型可以变得更加健壮(即更多的属性,所以我需要确保属性保持它们的关联 x 到 y)
干杯
可以在 aspx 页或 .asmx Web 服务中使用 Web 方法传递类数组。脚本服务属性会将类数组转换为 json 对象。这个简单的例子来理解你如何做到这一点,jQuery Ajax 与 asp.net
[ScriptService]
public class YourClass : Page
{
[WebMethod]
public static []MapCoords createCoordinateList()
{
//Your code
return arrOfMapCoords;
}
}
为您创建了一个小示例:
服务器代码:
public class MapCoords
{
public double x { get; set; }
public double y { get; set; }
}
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public static List<MapCoords> createCoordinateList()
{
List<MapCoords> latlng = new List<MapCoords>();
MapCoords m = new MapCoords();
m.x = 2.00;
m.y = 3.1512;
latlng.Add(m);
m = new MapCoords();
m.x = 3.00;
m.y = 4.1512;
latlng.Add(m);
return latlng;
}
}
客户端代码:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "Default.aspx/createCoordinateList",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg != null) {
for (i = 0; i <= msg.d.length; i++) {
alert(msg.d[i].x + " " + msg.d[i].y);
}
}
}
});
});
</script>
这使用 jQuery 和 jSon。不要忘记包含jQuery库。祝你好运!
相关文章:
- 使用Web Html表单创建Javascript数组
- asp.net web表单客户端验证始终回发
- 如何使谷歌地图在Visual Studio web表单中工作
- Phonegap打开表单提交到Web浏览器上的外部域
- 如何使用JQueryUI滑块控制web音频API振荡器参数,而无需经过HTML表单参数
- 谷歌应用程序脚本web应用程序动态列表从表单
- 是否可以在没有视图状态和回发的情况下使用asp.net web表单
- doPost”;遇到意外错误”;提交时的Web表单
- 单击ASP Web表单时未选中Checkex
- "Gmail风格”;web表单的部分更新
- Dynamics CRM 2015:如何获得我创建的Web资源按钮,以引用我添加到表单中的Javascript库中的函数
- 在单页web应用程序中一次只显示特定的表单
- Lotus Notes web表单-IE中的文本区域问题
- 自动填写web表单-chrome扩展
- 成功提交 Web 表单后,Javascript 重置功能将不起作用
- 需要制作保存任何更改的Web表单,即使不单击“发送”
- 将多变量 Cookie 解析为 Web 表单值
- 如何将服务器端类型传递给 asp.net Web 表单以供 JavaScript 使用
- vbscript 如何获取 javascript 回发 Web 表单数据
- OWIN和表单认证的WEB API 2与SPA