为Request.Form追加元素

ResultHandler

    /// <summary>
    /// Summary description for ResultHandler
    /// </summary>
    public class ResultHandler :System.Web.UI.Page, IHttpHandler
    {        
        bool IHttpHandler.IsReusable
        {
            get
            {
                return false;
            }
        }

        void IHttpHandler.ProcessRequest(HttpContext context)
        {
            foreach (var key in context.Request.Form.AllKeys)
            {
                context.Response.Write(string.Format("key:{0}{2}value:{1}{2}{2}", key, context.Request.Form[key], System.Environment.NewLine));
            }  
        }
    }


ReflectForm.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" target="_blank">
    <div style="width:300px;">
    <fieldset>
        <legend>我是表单</legend>
        <br />
        <table>
            <tr>
                <td align="center">
                    name
                </td>
                <td style="width: 10px;">
                </td>
                <td align="center">
                    value
                </td>
            </tr>
            <tr>
                <td align="center">
                    txtName
                </td>
                <td style="width: 10px;">
                </td>
                <td>
                    <input type="text" name="txtName" />
                </td>
            </tr>
            <tr>
                <td align="center">
                    <%=txt.UniqueID %>
                </td>
                <td style="width: 10px;">
                </td>
                <td>
                    <asp:TextBox ID="txt" runat="server"></asp:TextBox>
                </td>
            </tr>
        </table>
        <br />
        <div align="right">
            <asp:Button ID="btn" runat="server" Text="默认" OnClick="btn_Click" />
                
            <asp:Button ID="btnAdd" runat="server" Text="追加" OnClick="btnAdd_Click" />
        </div>
        <br />
    </fieldset>
    <div>
    </form>
</body>
</html>


ReflectForm.aspx.cs

        protected void btn_Click(object sender, EventArgs e)
        {
            Server.Transfer("ResultHandler.ashx", true);
        }

        protected void btnAdd_Click(object sender, EventArgs e)
        {
            Type type = Request.Form.GetType();
            type.GetMethod("MakeReadWrite", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Request.Form, null);
            Request.Form.Add("从我开始", "都是新增");
            Request.Form.Add("Sandy", "阿非");
	   Server.Transfer("ResultHandler.ashx", true);
        }


Request.Form   

System.Web.HttpValueCollection 

NameValueCollection

详细说明待续

你可能感兴趣的:(为Request.Form追加元素)