访问Request.QueryString [foo]为null,但URL显示查询字符串/参数就在那里

saz*_*azr 1 c# asp.net

我通过AJAX调用.aspx脚本.在该脚本我试图得到使用查询字符串的值,Request.QueryString["i"]但它总是返回null即使,如果我检查调试模式Request对象,查询字符串IS在那里.

出了什么问题?如何i从testScript.aspx中检索参数值?i = 199?

继承我的简单代码:

    public partial class getData : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            short index = System.Convert.ToInt16(Request.QueryString["i"]);  // BREAKPOINT
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我使用断点并检查请求对象时,我可以看到Request.QueryString变量是空的(只是一个{}).Request.QueryString["i"]一片空白.

如果你看下面的img你可以看到表单有我的i参数(这就是我的查询字符串.aspx?i=4

在此输入图像描述

Pav*_*ets 8

您的表单是使用POST请求发送的,参数i不是在QueryString中,而是在使用多部分表单数据格式的请求主体编码中,Request.QueryString只显示通过URI传递的参数,如page.asax?i = 4.使用Request.Form["i"]