C# 当请求参数不存在时,如何处理请求?
我通过url发送id,然后通过“请求”将其从一个页面重定向到另一个页面。我的问题是,有两种方法可以进入页面C# 当请求参数不存在时,如何处理请求?,c#,asp.net,C#,Asp.net,我通过url发送id,然后通过“请求”将其从一个页面重定向到另一个页面。我的问题是,有两种方法可以进入页面 正在浏览将向您发送url中id的链接。(本工程) 直接进入页面,因此不带任何id。(这不会导致错误) 异常详细信息:System.InvalidOperationException:Nullable对象 必须有一个值 当您被重定向到场景1和场景2中时,链接的外观如何 1. http://localhost/red/time/time.aspx?id=154 2. http://local
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中都工作。好像
if(请求!=null)
不正确。您做了一件错误的事情,即在检查空值之前,您试图用文本框值为其赋值,正确的方法如下:
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();
}
}
如果您的页面只有在
id
request参数时才能工作,那么您必须按照其他人的建议自己检查页面是否存在-您无法阻止页面被自动访问,因为没有任何东西可以阻止您从浏览器手动点击URL
如果参数不存在,您应该优雅地处理它。我使用的一种典型方法是,如果URL不包含我需要的所有内容,则重定向到已知的安全页面(例如主页),但我想您也可以在页面上显示警告消息