使用asp.net在pageload中发送请求时加载图像不起作用

时间:2012-12-11 05:47:19

标签: c# httpwebrequest httpresponse animated-gif

我在securetrans.aspx页面中插入了gif图像,并在securetrans.aspx.cs页面页面加载中编写了支付网关请求代码,这里的问题是加载图像根本没有出现在请求中,页面是空洞直到响应来了。  我无法通过许多搜索得到它,希望有人帮助我...

提前致谢...

我的 securetrans.aspx.cs 代码是

protected void Page_Load(object sender, EventArgs e)
{

string Url = "https://paymentpagetosendrequest";
        string Method = "post";
        string FormName = "form1";


NameValueCollection FormFields = new NameValueCollection();
 FormFields.Add("account_id", "5880");
        FormFields.Add("reference_no", Session["UserID"].ToString());
        FormFields.Add("amount", Session["Amount"].ToString());


FormFields.Add("return_url", "http://responsepage");
 for (int i = 0; i < FormFields.Keys.Count; i++)
        {
            Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", FormFields.Keys[i], FormFields[FormFields.Keys[i]]));
        }
}

secruretrans.aspx

Loading... Please Wait!!!

You will be Redirected to Secured Transaction Page....

(Please don't press back or refresh button.)


<asp:Image runat="server" ImageUrl="images/Loader.gif" ID="img" AlternateText="Loader" />

3 个答案:

答案 0 :(得分:0)

除非你专门编写它来在你的页面加载中发送响应之前的一些其他代码(这将导致另一个问题,你不能在响应中添加更多东西以便显示),因为在运行浏览器的代码时没有任何东西可以显示出来,我认为你正在尝试做一些像显示处理img的东西,我建议你选择像blockUI一样的jQuery插件:http://www.malsup.com/jquery/block/

编辑:

好吧我假设用户通过重定向来到你的页面,所以你没有任何按钮,然后我建议你在发送重定向之前在该页面上添加blockUI,这样用户就可以看到加载消息了。或者您可以构建第三个页面,用户将首先重定向到该页面,该页面除了加载消息和html头元http-equiv =“REFRESH”之外什么都没有,它实际上将它们引导到您的页面,这样他们就可以了看加载图片。在这里查看一些内容:http://www.instant-web-site-tools.com/html-redirect.html

答案 1 :(得分:0)

您需要使用一些JS,因为页面中的控件只在页面加载后呈现

在此处尝试DEMO,在此处CODE

function ShowProgress() {
    setTimeout(function () {
        var modal = $('<div />');
        modal.addClass("modal");
        $('body').append(modal);
        var loading = $(".loading");
        loading.show();
        var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
        var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
        loading.css({ top: top, left: left });
    }, 200);
}
$('form').live("submit", function () {
    ShowProgress();
});

答案 2 :(得分:0)

您可以将以下代码放入页面加载事件:

productType

其中“form1”是表单标记的名称。