将Javascript对象传递给C#
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将Javascript对象传递给C#,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1622字,纯文字阅读大概需要3分钟。
内容图文
![将Javascript对象传递给C#](/upload/InfoBanner/zyjiaocheng/679/030e4a08d9744ec38ab23606a04054f9.jpg)
我已经从Web表单中检索了数据,并使用button_click上的Javascript将其放入了对象.然后,我尝试使用Ajax和JSON将对象传递给C#代码中的方法.
Javascript:
$(document).ready(function () {
$("#go").click(function () {
$('#<%=gv_Rota.ClientID%>')
.find('tr')
.each(function (row) {
$(this).find('select')
.each(function (col) {
$ctl = $(this)
if ($ctl.is('select')) {
var shift = $ctl.val();
var day = row;
var wk = col + 1;
var objectitem = { ShiftId: shift, Day: day, Week: wk };
$.ajax({
url: '/Administration.aspx/StoreObject',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ myObject: objectitem })
});
}
});
});
});
});
后面的C#:
[WebMethod]
public static void StoreObject(string[] myObject)
{
}
在Javascript中,您可以看到它在GridView周围循环,并从GridView内的DropDownLists中找到selectedvalues.因此,JavaScript将运行多次,这意味着将传递多个对象.
我如何将所有传递给C#的对象保存在DataTable的行中,例如,当我按下“保存”按钮时可以使用这些对象.首先,我不太确定StoreArray方法中的内容,其次,我不确定在按下按键后保存数据表的最佳方法(例如,如果这就是我存储对象的内容)的最佳方法. “保存”按钮和“发回”,因为我确定会因此而被重置?
解决方法:
用C#创建一个类,以反映您的JavaScript中具有的对象
像这样:
public class Item
{
public string Id { get; set; }
public string Day { get; set; }
public string Week { get; set; }
}
然后期待您输入
[WebMethod]
public static void StoreObject(Item myObject)
{
}
编辑:
如果要将项目保存到集合中,可以列出以下项目:
private List<Item> myList = new List<Item>();
[WebMethod]
public void StoreObject(Item myObject)
{
myList.Add(myObject);
}
注意:这不能一成不变.我不确定WebMethods是否支持静态方法.如果不是,则需要制作一个asmx页面来托管方法See here
内容总结
以上是互联网集市为您收集整理的将Javascript对象传递给C#全部内容,希望文章能够帮你解决将Javascript对象传递给C#所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。