标签: asp.net-ajax

何时需要ScriptManager/ScriptManagerProxy?

我不认为我能找到一个明确的答案,所以我会在这里问一下.什么时候需要ScriptManager(或者在Master Page上使用ScriptManager的情况下是ScriptManagerProxy)?

例如,假设我在MasterPage上有一个ScriptManager:

  1. 如果我有一个包含UpdatePanel的Web内容表单,它是否需要ScriptManagerProxy?

  2. 如果我有一个包含用户控件的Web内容表单,并且用户控件中有一个UpdatePanel,那么用户控件是否需要ScriptManagerProxy?

  3. 如果我有一个包含UpdatePanel的Web内容表单和一个也包含UpdatePanel的UserControl,那么Web内容表单和/或用户控件是否需要ScriptManagerProxy?

谢谢.

.net asp.net asp.net-ajax

6
推荐指数
1
解决办法
1万
查看次数

嵌套的UpdatePanel触发器

我的孩子UpdatePanel更新其内容及其父UpdatePanel的内容.

<asp:UpdatePanel ID="UpdatePanel1" 
                 runat="server">
    ...
    <asp:UpdatePanel ID="UpdatePanel2" 
                     runat="server">
        ...
    </asp:UpdatePanel>
    ...
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

我不希望每次子更新时都更新我的父UpdatePanel.

.net asp.net ajax updatepanel asp.net-ajax

6
推荐指数
2
解决办法
7925
查看次数

似乎没有调用ASP.NET Javascript Converter

我有一个使用自定义JavaScriptConverter的ASP.NET 3.5 SP1 Web应用程序.代码过去曾在某个时间工作,但已停止工作.我不知道中间服务器端发生了什么变化.我们现在看到的问题是没有调用转换器,因此我们收到System.Data.DataRow无法序列化的错误.

以下是web.config的相关部分:

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization>
                <converters>
                    <add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview" />
                    <add name="DataRowConverter" type="WebUI.DataRowConverter, WebUI.DataRowConverter, Version=1.1.0.323, Culture=neutral" />
                    <add name="DataTableConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview" />
                </converters>
            </jsonSerialization>
        </webServices>
    </scripting>
</system.web.extensions>
Run Code Online (Sandbox Code Playgroud)

该类的修剪版本如下(仅修剪以避免在不必要的实现上浪费空间):

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Web.Script.Serialization;

namespace WebUI {
    public class DataRowConverter : JavaScriptConverter {
        private ReadOnlyCollection<Type> _supportedTypes = new ReadOnlyCollection<Type>(new Type[] { typeof(DataRow) });

        public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer) {
            // stuff
            return dr;
        }

        public override …
Run Code Online (Sandbox Code Playgroud)

json asp.net-ajax

6
推荐指数
1
解决办法
1348
查看次数

Ajax重定向到页面而不是更新目标

我正在使用部分视图进行登录,并希望在成功时将用户重定向到新页面,如果模型无效,则在部分视图中显示验证错误.ajax目标正在更新并成功或失败.如果模型有效,它将在更新目标中显示整个新页面,但我希望它重定向到新页面.我已经尝试过Redirect和RedirecttoAction,但它没有获得所需的结果.任何有关我可以去的想法都会获得ajax更新以重定向到新页面,而不是更新目标.另外,如果我使用错误的方法,请告诉我.

部分查看代码:

<% using (Ajax.BeginForm(
        "LogOn", 
        null, 
        new AjaxOptions { 
            HttpMethod = "POST", 
            UpdateTargetId = "SignInForm" 
        }, 
        new { 
            id = "SignInForm",  ReturnUrl = Request.QueryString["ReturnUrl"] 
        })) { %>

                    <<Page HTML Controls>>

                    <input type="submit" value="Log On" />


            <% } %>
Run Code Online (Sandbox Code Playgroud)

这是相关的控制器代码:

  public ActionResult Logon(LogOnModel model,string returnUrl)
        {
            if (ModelState.IsValid)
            {
            //Login Logic Code        
            if (!String.IsNullOrEmpty(returnUrl))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        return RedirectToAction("Index", "App");   
                    }

            }

            // If we got this far, something failed, redisplay form
            if (Request.IsAjaxRequest())
                           return PartialView("LogOnControl");

            return …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-ajax asp.net-mvc-partialview

6
推荐指数
1
解决办法
7609
查看次数

如何使用带有Web窗体的JSON服务AJAX调用?

我知道MVC控制器非常擅长提供JSON格式的AJAX请求,但是我是否可以使用任何内置的ASP.NET功能来从普通的旧Web表单站点进行这些类型的调用?

asp.net ajax json asp.net-ajax

6
推荐指数
1
解决办法
8396
查看次数

如何在Fiddler中修复此错误:无法建立连接,因为目标计算机主动拒绝它

出于某种原因,我无法在IE 8.0中监控我的asp.net页面对本地主机的请求/响应.

我使用小提琴手,我修改了他的网址 - 通过在分号前添加一个点 -

http://localhost.:52749/JQuery/Chapter16-AJAX/PersonEditor.aspx

我收到此错误:

[Fiddler]连接到localhost.失败.异常文本:无法建立连接,因为目标计算机主动拒绝它:: 1:52749

谢谢

internet-explorer asp.net-ajax fiddler internet-explorer-8

6
推荐指数
1
解决办法
9830
查看次数

js.erb是如何工作的

最近我遇到了一些正在使用的应用程序,js.erb我不确定如何使用它...这是下面的代码.有人可以帮我理解这是如何工作的吗?

routes.rb文件中

map.resources :player_emails
Run Code Online (Sandbox Code Playgroud)

我的控制器player_emails_controller.rb在创建动作中

def create
 @player_email = PlayerEmail.create(params[:player_email])
 if @player_email.save
  @response_txt = "The player has been emailed."
  PlayerEmailsMailer.deliver_pattern_email(@something, @player_email, request.host_with_port)
  @error = false
 else
  @error = true
  @response_txt = "Please make sure you entered your name and a valid email address."
 end
end
Run Code Online (Sandbox Code Playgroud)

然后我有文件 player_emails/create.js.erb

$('#player_email_ind').hide();
$('#player_email_submit').show();
$('#player_response_msg').html("<%= escape_javascript @response_txt %>").fadeIn();
<% unless @error %>
$('#player_email_form')[0].reset();
<% end %>
Run Code Online (Sandbox Code Playgroud)

我知道jquery会发生什么,但我不知道这是怎么做的ajax.它是否只是ajax在有js.erb... 时自动进行调用...有人可以解释它的工作方式以及为什么我不需要在控制器操作中的respond_to告诉它这是format.js

javascript ruby ruby-on-rails asp.net-ajax erb

6
推荐指数
3
解决办法
1万
查看次数

IIS7会话失去了它的价值

我已经将挑战响应方案实现为Ajax处理程序.出于某种原因,它在工作几个月后停止工作.调查问题表明,Context.Session[KEY]在挑战和响应呼叫之间失去了价值.

我把Session_StartSession_End(和其他几个)在Global.asax.cs中的方法与一些记录那里,我看到一个新的在session_start事件与相同的会话ID解雇,没有Session_End中的事件

问题是:为什么IIS会丢失会话值?

更新:我尝试切换到SQLServer会话,但行为没有变化.在极少数情况下,会话按预期工作,不确定原因.我尝试了所有"会话丢失变量"故障排除指南我发现无效

更新2:我将问题缩小到缺少会话cookie,但修改my.browsers配置后几次尝试都没有解决问题.当我从浏览器调用ajax处理程序时,会话cookie"ASP.NetSessionId"按预期显示.我将站点和服务器的IIS设置中的cookie名称更改为"SessionId",但即使重新启动服务器,我仍然看到ASP.NET.我仍然想把这个赏金给予那些知道发生了什么的人.同时我通过在代码中设置会话cookie来解决这个问题.

Login.ashx的伪代码:

string login = GetParameter("login", context);
string passhash = GetParameter("pass", context);
string challenge = "" + Context.Session["CHALLENGE"];
if (!string.IsNullOrEmpty(challenge))
{
  // this is the 'response' part
  string challengeResponse = Crypto.GetChallengeResponse(Challenge, UserFromDB.PassHash);
  if (challengeResponse == passhash)
  {
    // Great success, challenge matches the response
    Log.I("Success");
    return "SUCCESS";
  }
  else
  {
    Log.W("Failed to respond");
    return "FAILED TO RESPOND";
  }
}
else
{
  // if passed login or session-stored challenge are empty …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-ajax session-variables

6
推荐指数
1
解决办法
2245
查看次数

"ScriptManager"名称在当前上下文中不存在

我复制了一些代码来解决在ASP.Net中进行AJAX回发后运行JavaScript的问题.不幸的是,新代码在进行构建时给了我以下错误:

The name 'ScriptManager' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

现在我以前使用过ScriptManager,为什么现在会给我带来问题呢?是不是所有ASP.Net页面都可用?毕竟我的母版页上有一个脚本管理器......

javascript asp.net webforms asp.net-ajax scriptmanager

6
推荐指数
2
解决办法
2万
查看次数

按钮单击事件后调用jquery自动完成

我想调用一个jquery自动完成功能,但点击一下按钮后.在按钮单击事件中,gridview和textbox是可见的,否则它们是不可见的.

下面是我的代码脚本

 $(document).ready(function () {
            SearchText();
        });
        function SearchText()
        {
            $(".autosuggest").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        url: "CalendarDetails.aspx/GetAutoCompleteData",
                        data: "{'Col3':'" + document.getElementById('txtSearch').value + "'}",
                        dataType: "json",
                        success: function (data) {
                            response(data.d);
                        },
                        error: function (result) {
                            alert("Error");
                        }
                    });
                }
            });
        }
Run Code Online (Sandbox Code Playgroud)

HTML

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <asp:Label ID="Label4" runat="server" Text="ID" Font-Bold="True"></asp:Label>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
            <br />
            <br />
            <asp:Label ID="Label1" runat="server" Text="Start Date" Font-Bold="True"></asp:Label>
            <input type="text" id="datepickerStart" runat="server" />
            &nbsp;
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" …
Run Code Online (Sandbox Code Playgroud)

c# jquery asp.net-ajax

6
推荐指数
1
解决办法
737
查看次数