0

我的代码做的很糟糕。我将所有数据发布到实际页面并放入 html 输入:

private void GetPostedForm()
{
    System.Text.StringBuilder displayValues = new System.Text.StringBuilder();
    System.Collections.Specialized.NameValueCollection postedValues = Request.Form;

    for (int i = 0; i < postedValues.AllKeys.Length; i++)
    {
        String nextKey = postedValues.AllKeys[i];
        if (nextKey.Substring( 0, 2 ) != "__")
        {
            displayValues.Append( "<input type='hidden' name='" + nextKey + "' value='" + postedValues[i] + "'/>" );
        }
    }
    hiddensPost.InnerHtml = displayValues.ToString();
}

但是此页面中的 html 输入对我来说毫无用处。我在两个旧页面之间放置一个页面(“A”发送表单到“B”)。现在我需要将“A”发送到“X”,然后发送到“B”。

问题是:如何将请求的表单放入实际表单中以发送到下一页而不用 HTML 做所有这些混乱?

4

2 回答 2

1

If you can, just change the method to GET and pass the QueryString along from page to page.

于 2012-04-03T20:24:50.613 回答
1

您可以将步骤(A,X,B)及其可见输入放入单独的 asp-panels(pnlA,pnlX,pnlB)

然后只需切换面板的可见性处于您想要的状态。ViewState将为您完成(将控件状态存储到表单中的一个隐藏字段中,以便再次使用输入发布

因此您可以使用一个 html 表单(著名的 asp.net 表单)发布 3 次用户输入的数据

另一个解决方案在这里,asp.net 向导控件

于 2012-04-03T20:13:50.727 回答