ASP.NETページパラメータの処理
1021 ワード
ASP.NETページパラメータの処理?だれもできないよ.
RequestのようなものではありませんQuerystring[Id]?
しかし、以下のように簡単明瞭で、時には問題があります.
どうしてですか.様々な理由で、ユーザーがリンクしてきたアドレスに、#(ブラウザでコードすると%23になる)などの奇妙な記号が付いてくることがあるので、上記の文は間違っています.
頻繁に誤報をすると、サイトが信頼できないと感じさせます.そのため、処理する必要があります.
RequestのようなものではありませんQuerystring[Id]?
しかし、以下のように簡単明瞭で、時には問題があります.
int Id = (Request.QueryString["Id"] != null) ? Convert.ToInt32(Request.QueryString["Id"]) : 0;
どうしてですか.様々な理由で、ユーザーがリンクしてきたアドレスに、#(ブラウザでコードすると%23になる)などの奇妙な記号が付いてくることがあるので、上記の文は間違っています.
頻繁に誤報をすると、サイトが信頼できないと感じさせます.そのため、処理する必要があります.
// , , , ,
protected int GetIntParam(string param)
{
return Convert.ToInt32(_GetClearParam(param));
}
protected Int64 GetInt64Param(string param)
{
return Convert.ToInt64(_GetClearParam(param));
}
string _GetClearParam(string param)
{
Regex r = new Regex(@"(?<id>\-?\d+)", RegexOptions.IgnoreCase);
try
{
return r.Match(param).Result("${id}");
}
catch
{
throw new Exception(" :" + param);
}
}