如果我有自定义电影的详细信息页面(数据库中的主键电影是整数),例如:http://yyy.yy/PagesDetails.aspx?filmId=5 - 如果filmId 是数字,我应该在Page_Load 事件中验证吗?因为有人可以修改链接,所以设置filmId = 例如'abc',然后呢?
问问题
31 次
1 回答
3
您可以在将其用于整数值的操作之前检查它是否为有效整数。
您可以编写这样的扩展方法
public static bool IsNumeric(this string input)
{
int temp;
return int.TryParse(input, out temp);
}
并像这样在您的页面加载中使用它
string strFilmId=Request.QueryString["filmId"];
if(strFilmId.IsNumeric())
{
int filmId=Convert.ToInt32(strFilmId);
//use the integer variable now
}
else
{
// show the message to user that the url is not valid.
}
于 2013-06-13T20:59:34.883 回答