首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当请求参数不存在时,如何处理请求?

当请求参数不存在时,如何处理请求?
EN

Stack Overflow用户
提问于 2014-01-09 14:05:30
回答 2查看 242关注 0票数 0

我从一个页面重定向到另一个页面,通过url发送一个id,然后通过“请求”获得它。我遇到的问题是,有两种方法可以到达页面。

  1. 通过链接,将发送您继续在url中的id。(这项工程)
  2. 直接进入页面,这样就不会带来任何id。(这不会导致错误)

异常详细信息: System.InvalidOperationException:可空对象必须有一个值。

当您被重定向到场景1和直接进入场景2时,链接将是怎样的。

代码语言:javascript
复制
1. http://localhost/red/time/time.aspx?id=154

2. http://localhost/red/time/

    if (!IsPostBack)
    {

        //Bladdra(4, 0);
        txtTidrapportnr.Text = Request["id"];

        if (Request != null)
        {
            Hamta(General.ToInt(txtTidrapportnr.Text).Value);
            Visa();
            btnNy.Focus();
        }
        else
        {
            Bladdra(4, 0);
            Visa();
            btnNy.Focus();
        }


    }

我的问题是如何在场景1和场景2中使页面工作。

如果(请求!= null)

是不对的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-09 14:13:50

您正在做的错误事情是,在检查要使用textbox值分配的空值之前,正确的处理方法如下:

代码语言:javascript
复制
if (!IsPostBack)
    {

        //Bladdra(4, 0);
        //txtTidrapportnr.Text = Request["id"];

        if (Request["id"] != null)
        {
            txtTidrapportnr.Text =Convert.ToString(Request["id"]);

            Hamta(General.ToInt(txtTidrapportnr.Text).Value);
            Visa();
            btnNy.Focus();
        }
        else
        {
            Bladdra(4, 0);
            Visa();
            btnNy.Focus();
        }


    }
票数 1
EN

Stack Overflow用户

发布于 2014-01-09 14:18:32

如果您的页面只有在id请求参数时才能工作,那么您必须按照其他人的建议亲自检查它的存在--您不能阻止页面被自动访问,因为没有什么可以阻止您从浏览器手动访问URL。

如果参数不存在,那么您应该优雅地处理它。我使用的一种典型方法是,如果URL不包含我所需的所有内容,则重定向到已知的安全页面(例如主页),但我认为您也可以在页面上显示警告消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21022428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档