0

我有一个 aspx 页面,我从该页面发布表格,例如

            var form = document.createElement("form");
            form.setAttribute("method", 'post');
            form.setAttribute("action", '/my.ashx');

            var field = document.createElement("input");
            field.setAttribute("type", "hidden");
            field.setAttribute("name", 'myVal');
            field.setAttribute("value", "1234627373737377");
            form.appendChild(field);

            document.body.appendChild(form);
            form.submit();

我正在尝试使用 var myValue= context.Request["myVal"]; 访问 my.ashx 页面上的 myVal;但我得到空值。

4

3 回答 3

0

在 .ashx 页面上试试这个:

HtmlInputHidden input = PreviousPage.FindControl("myVal") as HtmlInputHidden;
string previousValue = input.Value;

在页面顶部包含程序集参考:

using System.Web.UI.HtmlControls;

虽然没有测试,但希望它会工作。

于 2013-08-12T12:55:18.730 回答
0

尝试

myValue = context.Request.Form["myVal"]

更新:

您缺少带有表单的属性,form.setAttribute("enctype", 'multipart/form-data');而没有设置您的表单变量Request将不会被填充。

于 2013-08-12T12:56:53.983 回答
0

提交时添加:field.setAttribute("id", 'myVal');

并像这样访问它:myValue = context.Request.Form["myVal"]

于 2013-08-12T13:31:16.130 回答