标签: asp.net-ajax

如何获取启动回发的Updatepanel的ID

嗨我需要在udate面板异步回发后拦截服务器回调并确定哪个面板发起了请求.代码非常简单:

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InterceptUpdateCallback);

function InterceptUpdateCallback(sender, args)
{
    var updatedPanels = args.get_panelsUpdated();    
    for (idx = 0; idx < updatedPanels.length; idx++) {
        if (updatedPanels[idx].id == "myUpdatePanel") {            
            StartSmth();
            break;
        }
      }
}
Run Code Online (Sandbox Code Playgroud)

当UpdatePanel不在另一个UpdatePanel中时,它可以工作.但是当它在另一个UpdatePanel内时,updatedPanels [idx] .id具有父Updatepanel id.那么我怎样才能获得启动请求的UpdatePanel的id(内部UpdatePanel)?感谢名单

asp.net updatepanel asp.net-ajax

7
推荐指数
1
解决办法
5019
查看次数

禁用ASP.net Ajax中的更新进度按钮

嗨我正在通过asp.net Ajax加载巨大的数据按钮单击网格视图显示加载消息更新prgress ...在更新进度时我必须禁用我的BtnLoadReport按钮.

<td>
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
</td>
<td>
   &nbsp;</td>
<td>
 &nbsp;</td>
</tr>
  <tr>
    <td>
     <asp:UpdateProgress ID="updProgress"
        AssociatedUpdatePanelID="UpdatePanel1"
        runat="server" oninit="updProgress_Init" onprerender="updProgress_PreRender">
            <ProgressTemplate>            
               <span style="color:green; font-style:italic;">Loading, please wait...</span>            
            </ProgressTemplate>
        </asp:UpdateProgress>
                        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
                        <ContentTemplate>
                        <div id="DemoId">
                          <asp:Button ID="BtnLoadReport" runat="server" onclick="BtnLoadReport_Click" 
                Text="LoadReport" Width="176px"  ClientIDMode="Static" OnClientClick="return clickOnLoadReport();" />
                </div>
                           <asp:GridView ID="GridView1" runat="server" Height="170px" 
                    onselectedindexchanged="GridView1_SelectedIndexChanged" Width="438px">
                 </asp:GridView>
                        </ContentTemplate>
                        <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="BtnLoadReport" EventName="Click" />
                        </Triggers>
                        </asp:UpdatePanel>
                    </td>
                    <td>
                        &nbsp;</td>
                    <td>
                        &nbsp;</td>
                </tr>
            </table>
Run Code Online (Sandbox Code Playgroud)

我的脚本禁用按钮

          <script type="text/javascript">
            var updateProgress = null;
               function clickOnLoadReport() {
               // …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net asp.net-ajax c#-4.0

7
推荐指数
1
解决办法
2588
查看次数

在Ajax调用中传统:true选项和false之间的区别是什么?

所有这些都是为了丢弃MVC控制器的问题.

这是ajax的代码:

 $.ajax({
            //tipo de transferencia
            type: "POST",
            //dato a enviar
            dataType: 'Json',
            traditional:true,
            //enviar variable previamente formada contiene la estructura del modelo
            data:data,

            //liga previamente asignada esta liga contiene  la ruta controlador-metodo
            url: url,
Run Code Online (Sandbox Code Playgroud)

注意传统:真实.

ajax post asp.net-ajax

7
推荐指数
1
解决办法
4903
查看次数

您如何衡量网络服务电话的进度?

我有一个ASP.NET Web服务,它可以执行一些繁重的工作,例如,一些文件操作,或者从一堆水晶报表生成Excel表格.我不希望通过调用此Web服务来阻止,所以我想让Web服务调用异步.另外,我想从网页上调用这个Web服务,并希望有一些机制可以让我继续轮询服务器,这样我就可以在屏幕上显示一些进度指示,比如说,文件的数量.已经处理完毕.请注意,我不希望在完成Web方法调用时收到通知,而是希望获得实时进度状态.我该怎么做呢?

ajax asynchronous web-services asp.net-ajax

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

更新面板渲染表行错误

当我的asp.net AJAX更新面板更新时,我遇到了一个问题,它在我的表顶部而不是在它下面所属的位置呈现内容是我的代码:

<tr>
   <td>
   </td>
   <td>
      <asp:CheckBox ID="ddCheckbox" runat="server" Text="Checkbox"
           AutoPostBack="true" OnCheckedChanged="ddCheckboxChanged" />
   </td>
</tr>

    <asp:UpdatePanel ID="uxUpdatePanel" runat="server" RenderMode="Inline" UpdateMode="Conditional">
       <ContentTemplate>
          <tr>
             <td>
               Some Field:
             </td>
              <td>
                 <asp:TextBox ID="ddSomeField" runat="server" />
              </td>
            </tr>
          </ContentTemplate>
          <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddCheckbox" EventName="CheckedChanged" />
          </Triggers>
    </asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

在我的服务器端事件中,我只是启用/禁用文本框.

asp.net updatepanel asp.net-ajax

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

jQuery Form Validate():如何设置默认消息?

到目前为止,我已经使用了jQuery验证插件以及之前定义的字段.现在我正在使用动态表单.字段通过其类映射其验证需求(例如"必需"),但我没有看到如何自定义jQuery验证抛出的消息.

jquery asp.net-ajax jquery-validate

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

MS UpdatePanel不是真正的AJAX吗?

我一直听说服务器端的ASP .NET AJAX控件(比如UpdatePanels)虽然看起来不是真正的AJAX,但因为渲染并不完全在客户端.我试图更清楚地理解这一点.有人可以详细说明吗?

谢谢...

.net c# ajax asp.net-ajax

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

ASP.Net AJAX UpdatePanel无法触发SelectedIndexChanged事件

我有一个ASP.Net RadioButtonList控件,AutoPostBack设置为true.我还有一个OnSelectedIndexChanged函数,只要用户更改选择就会调用该函数.最后,用户需要提供此控件所需的信息,因此当用户到达页面时,我有一个默认选择 -

<asp:RadioButtonList ID="rblHighestDegree" runat="server" AutoPostBack="true"
        onselectedindexchanged="rblHighestDegree_SelectedIndexChanged">
   <asp:listitem Runat="server" Text="Master's Degree" Selected="True" />
   <asp:listitem Runat="server" Text="Doctorate" />
</asp:RadioButtonList>
Run Code Online (Sandbox Code Playgroud)

在上面的代码示例中,当用户从默认选择(例如,"Master's Degree")切换到不同选项(例如,"Doctorate")时,则触发SelectedIndexChanged事件.然后,如果用户改变主意,然后选择原始默认选项,则再次触发SelectedIndexChanged事件.这完全符合预期和预期.

我有第二个控件,根据上面的选择启用或禁用代码隐藏...

<asp:ScriptManager ID="scriptmanager1" runat="server" />
<asp:UpdatePanel ID="updatepanel1" runat="server">
<ContentTemplate>
<asp:RadioButtonList ID="rdlYearsOfStudy" runat="server" Enabled="false">
<asp:listitem Runat="server" Text="Less than 3 years" />
<asp:listitem Runat="server" Text="3 - 4 years" />
<asp:listitem Runat="server" Text="5 - 6 years" />
 </asp:RadioButtonList>
</ContentTemplate>
<Triggers>
  <asp:AsyncPostBackTrigger ControlID="rblHighestDegree" EventName="SelectedIndexChanged" /> 
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

只有我将第二个控件放在ASP.Net AJAX UpdatePanel中才能启用异步回发(如上所示)之后,我才会遇到这个问题.一旦我这样做,原始的RadioButtonList控件将仅在我选择当用户到达页面时默认选择的ListItem时回发.如果用户随后选择原始默认选择,则不会发生回发.

为了澄清,如果我回发而不将适用的第二个控件放在ASP.Net AJAX UpdatePanel中,那么无论用户选择哪个RadioButtonList ListItem,SelectedIndexChanged都可以工作.另一方面,在将控件放在UpdatePanel中以应用AsyncPostBackTrigger之后,回发仅针对非默认ListItem的选择.

可能相关的更多信息是我使用Microsoft Visual Studio …

updatepanel radiobuttonlist asp.net-ajax selectedindexchanged

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

AJAX POST到MVC控制器显示302错误

我想在我的MVC视图中进行AJAX POST.我写了以下内容:

视图中的脚本代码

$('#media-search').click(function () {
    var data = { key: $('#search-query').val() };

    $.ajax({
        type: 'POST',
        url: '/Builder/Search',
        data: JSON.stringify(data),
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            $('.builder').empty();
                alert("Key Passed Successfully!!!");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

控制器代码

[HttpPost]
public ActionResult Search(string key)
{
    return RedirectToAction("Simple", new { key=key });
}
Run Code Online (Sandbox Code Playgroud)

但是在AJAX POST上,我发现302找到了错误

asp.net-mvc jquery asp.net-ajax asp.net-mvc-4

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

为什么Ajax.BeginForm在提交后重定向到新的空白页面?

为什么Ajax.BeginForm在提交后将我的页面重定向到新的空白页面?

我的控制器代码是:

    [HttpPost]
    public void ProductCommentAdd(int productId, string text)
    {
           //Do something
    }
Run Code Online (Sandbox Code Playgroud)

在视图中调用Mvc ajax是:

    @using (Ajax.BeginForm("ProductCommentAdd", "Shop", new AjaxOptions() { HttpMethod = "POST"}))
    {
                <input type="hidden" value="@Model.ProductId" name="ProductId"/>
                <textarea name="text"></textarea>
                <input type="submit" value="Submit"
    }
Run Code Online (Sandbox Code Playgroud)

当我单击提交按钮时,我的页面重定向到新的空白页面.我怎么解决它?

c# asp.net-mvc asp.net-ajax

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