重定向帖子.net参数

时间:2014-02-19 12:14:52

标签: c# asp.net .net post

我遇到了这段代码的问题:

protected void btnLogin_Click(object sender, EventArgs e)
{
    StringBuilder sbRenderOnMe = new StringBuilder();

    string strUser = GetUser().UserName;
    string strKey = "xxxxxxxxx";

    // the form and the data
    sbRenderOnMe.AppendFormat(
        "<html><body><form action=\"http://thepagetologin.com/api/blele.php\" method=\"post\" name=\"form1\">"
        + "<input value=\"gg\" id=\"client\" name=\"client\" type=\"hidden\" />"
        + "<input value=\"{0}\" id=\"key\" name=\"key\" type=\"hidden\" />"
        + "<input value=\"{1}\" id=\"user\" name=\"user\" type=\"hidden\" />"
        + "<input value=\"login\" id=\"action\" name=\"action\" type=\"hidden\" />"
        + "<input name=\"redirect\" value=\"true\" type=\"hidden\" />"
        + "<input type=\"submit\" name=\"Button1\" value=\"open\" id=\"Button1\" />"
        + "</form>", strKey, strUser);

    // the auto submit
    sbRenderOnMe.AppendFormat("<script>document.form1.submit();</script>");
    sbRenderOnMe.AppendFormat("</body></html>");

    Response.Write(sbRenderOnMe.ToString());
    Response.End();
}

此代码生成一个按钮,然后提交该按钮并将用户重定向到新页面并将该用户记录下来。

部分用户对此代码有疑问,我认为可能是javascript未启用或其他内容。

有人可以帮我用普通的C#代码重新打印这段代码,所以我不必在上面使用这个javascript方法吗?

2 个答案:

答案 0 :(得分:0)

你可以这样试试

Response.Redirect("http://thepagetologin.com/api/blele.php?client=gg&key="+strKey+"....");

答案 1 :(得分:0)

我似乎错过了一些东西所以我不得不问为什么你甚至需要做JavaScript和所有那些渲染?

  • 您似乎在ASP.Net WebForms页面的(服务器端)<form/>内呈现另一种形式,这是您无法做到的(无法嵌套)形式)

  • 我可以看到一个可能的原因是你/想要POST到外部应用程序(Php)。如果这是您的目标,则POST使用Button.PostbackUrl

  • <asp:button id="Button1" text="Post value to another page" postbackurl="http://thepagetologin.com/api/blele.php" runat="Server"> </asp:button>

从MSDN链接复制/粘贴的示例(已修改为添加您的php目标):

{{1}}

<强>更新

  

我发布了一些我不希望用户能够看到的信息

在这种情况下,如果它是敏感数据,您当前的Javascript实现(似乎)不满足该要求。您可以检查/查看客户端所做的任何事情(即使它没有“显示”) - 从浏览器看到POSTed数据是微不足道的 - 不需要特殊工具,你可以使用内置开发工具的Chrome / FF / IE ...

你必须做服务器端这样的事情,因此(敏感的)数据对客户端来说是“无法访问的”(根本) - 尽管这会改变流程/取决于PHP应用程序(POSTed数据的目标)。 PHP方面是“你的”应用程序吗?