没有值的Request.Form

时间:2018-09-26 15:29:02

标签: asp.net .net vb.net

我有问题 我有一个A窗体,其中一个带有隐藏字段,可在按钮中重定向到另一个窗体。 在表格B中,我想通过POST获得此隐藏字段的值。

但是当我执行Request.Form(“ Hidden_​​Field”)时,当我需要的是VALUE时,它只会带给我字段的名称。

有什么想法吗?。

代码如下:

表格A:

<asp:HiddenField ID="SIGNSYS_OUTPUT" runat="server" Value="123" />

Server.Transfer("~/VerifyAccountBGBAResult.aspx", True)

表格B:

Me.Value = Request.Form("SIGNSYS_OUTPUT")

此请求返回的值为“ SIGNSYS_OUTPUT”。

1 个答案:

答案 0 :(得分:2)

Server.Transfer不会传输信息,除非首先发布表单,我认为是这种情况。

Request.Form根据控件的名称获取信息,例如。

 public void OpenFile(string targetPath)
    {
        try
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                QLPreviewItemFileSystem prevItem = new QLPreviewItemFileSystem(_name, targetPath);
                QLPreviewController previewController = new QLPreviewController();
                previewController.DataSource = new PreviewControllerDS(prevItem);
                UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(previewController, true, null);
            });
        }
        catch(Exception ex)
        {
            Debug.WriteLine(ex);
        }
    }
}

当您使用runat =“ server”时,该名称由.net生成。您需要执行一个viewsource来获得适当的名称。最终可能是这样的。

<input type="hidden" name="SIGNSYS_OUTPUT" value = "123" />

就您而言,我认为使用Server.Transfer可能不是最佳解决方案。您可以查看其他解决方案,例如使用会话,数据库,页面上的进程,然后将结果发送到其他页面,等等。