我确信这很容易,但我无法弄清楚:
我有一个ASP.NET页面,上面有一些UpdatePanels.我希望页面完全加载UpdatePanels中的一些"请稍候"文本.然后,一旦页面完全加载,我想调用代码隐藏函数来更新UpdatePanel.
关于Javascript和代码隐藏的哪些组合我需要实现这个想法的任何想法?
SAL
PS:我已经尝试将我的函数调用放在Page_Load中,但是在页面交付之前运行代码,并且由于我想运行的函数需要一些时间,因此页面加载时间太长.
我在一个简单的ASP.NET概念验证应用程序中使用jQuery UI的可拖动和可放置库.此页面使用ASP.NET AJAX UpdatePanel进行部分页面更新.该页面允许用户将项目放入垃圾桶div中,该div将调用从数据库中删除记录的回发,然后重新绑定该项目为药物的列表(以及其他控件).所有这些元素(可拖动项和垃圾桶div)都在ASP.NET UpdatePanel中.
这是拖放初始化脚本:
function initDragging()
{
$(".person").draggable({helper:'clone'});
$("#trashcan").droppable({
accept: '.person',
tolerance: 'pointer',
hoverClass: 'trashcan-hover',
activeClass: 'trashcan-active',
drop: onTrashCanned
});
}
$(document).ready(function(){
initDragging();
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function()
{
initDragging();
});
});
function onTrashCanned(e,ui)
{
var id = $('input[id$=hidID]', ui.draggable).val();
if (id != undefined)
{
$('#hidTrashcanID').val(id);
__doPostBack('btnTrashcan','');
}
}
Run Code Online (Sandbox Code Playgroud)
当页面回发,部分更新UpdatePanel的内容时,我重新绑定了draggables和droppables.当我用光标抓住一个draggable时,我得到一个"htmlfile:Unspecified error".例外.我可以通过替换elem.offsetParent对我写的这个函数的调用来解决jQuery库中的这个问题:
function IESafeOffsetParent(elem)
{
try
{
return elem.offsetParent;
}
catch(e)
{
return document.body;
}
}
Run Code Online (Sandbox Code Playgroud)
我还必须避免调用elem.getBoundingClientRect(),因为它会抛出相同的错误.对于那些感兴趣的人,我只需要jQuery.fn.offset在Dimensions插件中的函数中进行这些更改.
我的问题是:
更新:
@some它不公开,但我会看到SO是否允许我将相关代码发布到这个答案中.只需创建一个ASP.NET Web应用程序(将其命名为 …
异步回发后将滚动位置重置到页面顶部的最佳方法是什么?
异步回发是从ASP.NET GridView CommandField列启动的,并且在GridView OnRowCommand中调用ASP.NET更新面板Update方法.
我目前的应用程序是ASP.NET 3.5网站.
编辑:我收到了很多人的反馈,我最后在脚本标签中使用了PageRequestManager方法,但我的下一个问题是:
如何将其配置为仅在用户单击GridView控件中的ASP.NET CommandField时执行?我在页面上有其他按钮执行异步回发,我不想滚动到页面顶部.
编辑1:我开发了一个解决方案,我不需要使用PageRequestManager.请参阅我的后续答案以获得解决方案
当我尝试AJAX调用时,我在MVC应用程序中的某个页面上收到"Microsoft JScript运行时错误:'Sys'未定义"错误.AJAX调用是从部分视图中进行的,该视图嵌入在多个页面中.它可以在除一个页面之外的所有页面上正常工作.我已经阅读了指向web.config文件设置和.axd映射的帖子作为可能的解决方案,但是在web.config中正确配置了应用程序,并且IIS中的.axd映射也是正确的.此外,它可以在使用此局部视图的所有页面上正常工作,除了一个.它表现得像AJAX库没有加载这一页.
对脚本文件的引用位于共享的site.master文件中.所有页面(包括不起作用的页面)都引用相同的母版页.
有任何想法吗?我已经在这个工作了两天了.谢谢.
编辑:正如Sam在下面指出的那样,似乎AJAX调用在AJAX库有机会加载之前就已经开始了.但是,AJAX调用是在页面呈现后很长时间由提交按钮触发的,因此AJAX库有足够的时间加载 - 抱歉第一次没有提供足够的信息.
我有一个AJAX控件项目,它有一个.js文件,配置为嵌入式资源.
我的主Web应用程序引用此项目,当我尝试加载控件时,我收到此错误:
Assembly does not contain a Web resource with name 'MyFile.js'.
这是我对getScriptReferences的实现:
public IEnumerable GetScriptReferences()
{
// create reference to the JS
ScriptReference jsReference = new ScriptReference();
jsReference.Assembly = "MyNamespace";
jsReference.Name = "MyNamespace.MyFile.js";
return new ScriptReference[] { jsReference };
}
我不太确定我错过了什么.我已经尝试将Name参数更改为文件名,命名空间和文件名,命名空间,程序集和文件名......我没有任何运气.任何建议都表示赞赏.
有人有Comet app .net的任何样本吗?我需要一个示例如何在服务器中持久保存客户端的连接?
我的ASP.NET页面上有一个按钮,它从我的数据库中获取一些数据并将其显示在gridview上.
这个过程需要一段时间,所以我想我会添加一个updateprogress AJAX控件.现在,当我单击按钮时,updateprogress图像显示并且数据正在从我的数据库中成功获取(我从我在数据库中的一些日志中检查了这一点).但有两个问题:
(1)updateprogress图像仅显示约2分钟.但我的buttonclick事件大约需要5分钟才能完成.基本上,即使在我的任务完成之前,updateprogress也会停止显示,这会使其失败.
(2)GridView没有显示出来.如果我不使用scriptmanager/AJAX,它会正确显示.
有任何想法吗?
一些相关的代码片段:
<div style="position: absolute; top: 300px; left: 19px; width: 568px; height: 48px;">
<table>
<tr>
<td>
<asp:Button ID="btnGenerateReport" runat="server" Height="37px" Text="Generate Report"
Width="132px" onclick="btnGenerateReport_Click" />
</td>
<td class="style5">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" id="Panel">
<ContentTemplate>
<asp:UpdateProgress ID="PageUpdateProgress" runat="server">
<ProgressTemplate>
<img runat="server" src="updateprogress.gif"
style="position: static; width: 32px;"> </img></ProgressTemplate>
</asp:UpdateProgress>
<div style="position: absolute; top: 423px; left: 9px; width: 795px; height: 984px;">
<asp:GridView ID="Report" runat="server"
AllowSorting="True" AutoGenerateColumns="False"
Height="622px" BorderStyle="Solid"
Width="779px" PageSize="100" HorizontalAlign="Center">
<Columns>
<asp:BoundField HeaderText="AccountId" DataField="AccountId">
<ControlStyle …Run Code Online (Sandbox Code Playgroud) 我有一个部分视图,需要在两个div之间加载,但是当调用ajax.actionlink时,它会在新浏览器窗口中打开局部视图中的内容.我使用UpdateTargetId ="ajaxReplace"
问候
我正在使用Payflow Pro(https://pilot-payflowpro.paypal.com)尝试成为PCI兼容的C#VS2012 Framework 4.5 MVC应用程序.我们多年来一直在使用PayflowPro,这就是我必须使用的.从我的阅读中看来,我似乎应该使用透明重定向,所以我不会向我的网络服务器发布任何私有内容,但我不知道我是否需要这个以及我希望如何处理这个问题.我也有几个问题......
我怎么认为这一切都有效: 我的理解是你需要一个安全的语言(与Paypal的通信,旅程1).然后您发布安全数据(CC,exp,安全代码),包括securetoken(与Paypal的通信,旅程2)并接收销售的授权和交易ID.
我希望如何做到这一点: 我打算拥有一个包含所有信息(用户详细信息,运送详细信息和CC信息)的表单,当用户按下购买按钮时,我将使用AJAX处理1到我的服务器(没有发送安全的用户信息).在这里,我将创建URL + params并发送paypal我的un/pw信息以检索令牌(全部来自我的服务器).响应将返回给客户端,如果成功,我将直接通过AJAX与Paypal的网关服务器进行通信,这次发送安全的CC信息+令牌(行程#2).根据对#2行程的响应,我会让用户知道他们的购买行为是什么.旅行2不应该需要我的Paypal UN/PW信息,因为它可以很容易地在客户端看到,我包括应该识别原始交易的SecureToken.根据我的解释,我认为不需要透明重定向.或者我在这里遗漏了什么?
另外,我想使用什么交易类型?为行程#1创建"授权",然后为行程#2创建"销售"?
所以这里是细节编码类型的东西: 对于我的研发测试,我正在建立自己的名称/值对参数字符串(见下文),并通过WebRequest通过他们的沙箱/测试网址(pilot-payflowpro.paypal)与网关服务器进行通信. COM).我得到了一个成功的回复和SECURETOKEN回来了.安全令牌的初始请求(如下所示)为TRXTYPE = A(授权),不发送卡信息.我想先授权吗?
以下是我的参数(也可能包括shipto信息,但未在下面列出):
USER=myAuthUserName
&VENDOR=myAuthUserName
&PARTNER=myPartner
&PWD=myPassword
&AMT=21.43
&BILLTOFIRSTNAME=FName
&BILLTOLASTNAME=LName
&BILLTOSTREET=123 Main Street
&BILLTOSTREET2=Apt 203B
&BILLTOCITY=MyCity
&BILLTOSTATE=CA
&BILLTOZIP=77777
&BILLTOPHONENUM=4444444444
&EMAIL=myemail@somedomain.com
&CURRENCY=USD
**&TRXTYPE=A**
&SILENTTRAN=TRUE
&CREATESECURETOKEN=Y
&SECURETOKENID=a99998afe2474b1b82c8214c0824df99
Run Code Online (Sandbox Code Playgroud)
正如我所说,我得到了一个成功的响应,并转到下一步发送安全数据(CC#,EXPDATE,安全代码).当我从params中删除我的UN/PW/VENDOR /合作伙伴信息时,由于无效的用户身份验证而出现错误.但是,看到我正在动态建立第二个电话,我不能在那里使用我的PayPal/pw.我错过了什么?有人提供上述此问题或其他问题的帮助吗?
如果我需要添加任何说明,请告诉我.在此先感谢您的时间!
所有这些都是为了丢弃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)
注意传统:真实.
asp.net-ajax ×10
asp.net ×6
ajax ×4
c# ×3
asp.net-mvc ×2
assemblies ×1
comet ×1
gridview ×1
javascript ×1
jquery ×1
payflowpro ×1
paypal ×1
post ×1
reverse-ajax ×1
server-push ×1
token ×1
updatepanel ×1