标签: asp.net-ajax

如何在ASP.NET中将JSON反序列化为简单的Dictionary <string,string>?

我在JSON中有一个简单的键/值列表,通过POST发送回ASP.NET.例:

{ "key1": "value1", "key2": "value2"}
Run Code Online (Sandbox Code Playgroud)

我并没有想要进入强大的.NET对象

我只需要一个普通的旧的Dictionary(Of String,String),或者一些等价的(hash table,Dictionary(Of String,Object),old-school StringDictionary - hell,一个2-D字符串数组对我有用.

我可以使用ASP.NET 3.5中的任何可用内容,以及流行的Json.NET(我已经将其用于序列化客户端).

显然,这些JSON库都没有开箱即用的明显功能 - 它们完全专注于通过强大的合同进行基于反射的反序列化.

有任何想法吗?

限制:

  1. 我不想实现自己的JSON解析器
  2. 无法使用ASP.NET 4.0
  3. 宁愿远离旧的,已弃用的JSON ASP.NET类

json asp.net-ajax asp.net-3.5 json.net

642
推荐指数
12
解决办法
58万
查看次数

jQuery $(document).ready和UpdatePanels?

我正在使用jQuery将一些鼠标悬停效果连接到UpdatePanel内的元素.事件受到约束$(document).ready.例如:

$(function() {    
    $('div._Foo').bind("mouseover", function(e) {
        // Do something exciting
    });    
});
Run Code Online (Sandbox Code Playgroud)

当然,这工作正常第一次加载页面时,但是当在UpdatePanel做局部页面更新,它无法运行,鼠标悬停效果不工作了的UpdatePanel内.

在jQuery中连接东西的推荐方法是什么,不仅在第一页加载时,而且每次UpdatePanel都会触发部分页面更新?我应该使用ASP.NET ajax生命周期而不是$(document).ready吗?

javascript asp.net jquery asp.net-ajax javascript-events

470
推荐指数
10
解决办法
22万
查看次数

返回JSON或部分html的ASP.NET MVC控制器操作

我正在尝试创建控制器操作,它将返回JSON或部分html,具体取决于参数.将结果异步返回到MVC页面的最佳方法是什么?

ajax asp.net-mvc json asp.net-ajax

393
推荐指数
8
解决办法
55万
查看次数

在ASP.Net MVC中设置Access-Control-Allow-Origin - 最简单的方法

我有一个简单的actionmethod,返回一些json.它在ajax.example.com上运行.我需要从另一个站点someothersite.com访问它.

如果我试着打电话给我,我会得到预期的......:

Origin http://someothersite.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我知道有两种解决方法:JSONP和创建自定义HttpHandler来设置标头.

有没有更简单的方法?

简单的动作是否不可能定义允许的起源列表 - 或者简单地允许每个人?也许一个动作过滤器?

最佳将是......:

return json(mydata, JsonBehaviour.IDontCareWhoAccessesMe);
Run Code Online (Sandbox Code Playgroud)

json asp.net-ajax cors asp.net-mvc-3

203
推荐指数
9
解决办法
14万
查看次数

我怎么能说服IE只显示application/json而不是提供下载呢?

在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json.所以我将把JSON数据的URL丢弃到地址栏中.

这对ASPNET很好,因为在编码错误的情况下,我可以在浏览器中看到ASPNET诊断:

替代文字

但是当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,所以我看不到响应.

替代文字

我可以让IE不这样做,换句话说,只是将它显示为纯文本?

我知道如果我将Content-Type标头设置为,我可以这样做text/plain.

但这特别是ASPNET MVC应用程序的上下文,当我在我的一个动作方法上使用JsonResult时,它自动设置响应.另外,我有点想保留适当的内容类型,而不是仅仅为了支持调试工作而改变它.

ajax asp.net-mvc jquery internet-explorer asp.net-ajax

161
推荐指数
3
解决办法
14万
查看次数

Ajax更新后重新绑定jQuery中的事件(updatepanel)

我的页面上有几个输入和选项元素,每个(几乎都有)附加了一个事件,一旦它们发生变化就会更新页面上的一些文本.我用jQuery真的很酷:)

我还使用了微软的Ajax框架,利用了UpdatePanel.我之所以这样做,是因为某些元素是基于某些服务器端逻辑在页面上创建的.我真的不想解释为什么我使用UpdatePanel - 即使它可以(它可以付出相当大的努力)被重写为仅使用jQuery我仍然想要UpdatePanel.

您可能已经猜到了 - 一旦我在UpdatePanel上回发,jQuery事件就会停止工作.我实际上是在期待这个,因为"回发"并不是真正的新回发所以我在document.ready中绑定事件的代码将不再被触发.我还通过在jQuery帮助库中阅读它来证实了我的怀疑.

无论如何,在UpdatePanel完成更新DOM之后,我仍然遇到重新绑定控件的问题.我最好需要一个不需要向页面添加更多.js文件(jQuery插件)的解决方案,但是能够捕获UpdatePanel的'afterupdating'这样简单,我可以调用我的方法重新绑定所有表单元素.

asp.net jquery updatepanel asp.net-ajax

78
推荐指数
7
解决办法
7万
查看次数

如何在更新面板回发后执行javascript回调?

当用户悬停页面的某些元素时,我正在使用jQuery tip插件来显示帮助提示.

我需要在使用css选择器加载页面后注册插件事件.

问题是我使用的是ASP.NET更新面板,在第一次回发后,提示会停止工作,因为更新面板会替换页面内容,但不会重新绑定javascript事件.

在更新面板刷新其内容后,我需要一种方法来执行javascript回调,因此我可以重新绑定javascript事件以使提示再次起作用.

有没有办法做到这一点?

javascript updatepanel asp.net-ajax callback

70
推荐指数
3
解决办法
7万
查看次数

69
推荐指数
3
解决办法
7万
查看次数

系统未定义

我正在开发一个ASP.Net/AJAX控件包项目.80%的时间没有问题.页面应该运行.如果您刷新页面,它有时会显示一个javascript错误"系统未定义".

它不会一直发生,但它是可重复的.当它发生时,用户必须关闭他们的浏览器并重新打开页面.

这让我相信它可能是一个IIS设置.

另一个说明.当我收到错误时,我查看了页面源,何时没有.当页面抛出错误时,缺少以下代码:

<script src="/ScriptResource.axd?d=EAvfjPfYejDh0Z2Zq5zTR_TXqL0DgVcj_h1wz8cst6uXazNiprV1LnAGq3uL8N2vRbpXu46VsAMFGSgpfovx9_cO8tpy2so6Qm_0HXVGg_Y1&amp;t=baeb8cc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)

javascript asp.net asp.net-ajax

61
推荐指数
8
解决办法
13万
查看次数

ASP.NET MVC模式对话框/弹出窗口最佳实践

我正在寻找在ASP.NET MVC中实现模态对话框的最标准方法.

我想要做的一个例子就是当我从"列表"页面中选择一个项目时,我希望"详细信息"页面是列表上的弹出窗口而不是新页面.我不是在寻找黑客.我希望它是一个遵循ASP.NET MVC模式的解决方案.我也不希望不使用jQuery和ASP.NET Ajax(没有插件,除非它作为最佳实践出现).

asp.net-mvc jquery asp.net-ajax modal-dialog

61
推荐指数
3
解决办法
9万
查看次数