来自C#代码的Javascript仅在Google Chrome中刷新

时间:2014-07-16 17:10:01

标签: c# javascript asp.net google-chrome

我的网站有一个asp.net按钮,可以将值发布到外部网站,该网站可以在IE和Firefox中正常运行。它会重定向回Chrome中的同一页面。

    using (WebClient client = new WebClient())
    {
        HttpContext.Current.Response.Write(string.Format("<body onload=document.forms[0].submit();window.location=\"{0}\";>", "Dashboard.aspx"));
        HttpContext.Current.Response.Write(string.Format("<form name=\"Form\" target=_blank method=post action=\"{0}\">", URL));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"fname\" value=\"{0}\">", FirstName));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"lname\" value=\"{0}\">", LastName));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"id\" value=\"{0}\">", ID));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"tier\" value=\"{0}\">", tier));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"promo_code\" value=\"{0}\">", promoCode));
        HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"login_key\" value=\"{0}\">", hashedKey));
        HttpContext.Current.Response.Write("</form>");
        HttpContext.Current.Response.Write("</body>");
    }

所需行为是打开一个新的标签或窗口,加载外部网站,参数通过POST传递。

当前行为是页面只是刷新。这是Chrome的已知问题吗?我的猜测是它阻止了javascript,因为它认为它正在被注入&#34;。

1 个答案:

答案 0 :(得分:1)

我的猜测是你在发布表格和&amp;改变网址。

不需要window.location.href。提交表格应该足够了。您也可以正确引用这些属性,看看是否有帮助。