「0」を「ページ」パラメータに渡されたときに、このアクションはZERO結果を返し、なぜ誰もが説明できます:私は一時変数がtryparseするために再使用していますのでC#の奇妙な振る舞い、またはそれは私がした間違いですか?
[HttpPost]
public ActionResult SearchProperties(string id, string offerTypeID, string propertyTypeID, string page)
{
int temp = 0;
var props = from s in db.Properties
where s.Approved && s.Available
select s;
if (!String.IsNullOrEmpty(id))
{
Int32.TryParse(id, out temp);
props = from s in props
where s.PropertyType.PropertyTypeCategoryID == temp
select s;
}
if (!String.IsNullOrEmpty(offerTypeID))
{
Int32.TryParse(offerTypeID, out temp);
props = from s in props
where s.OfferTypeID == temp
select s;
}
if (!String.IsNullOrEmpty(propertyTypeID))
{
Int32.TryParse(propertyTypeID, out temp);
props = from s in props
where s.PropertyTypeID == temp
select s;
}
props = props.OrderBy(s => s.PropertyID);
int i = 0, skip = 0;
if (!String.IsNullOrEmpty(page))
{
Int32.TryParse(page, out temp);
skip = temp * 10;
}
else
{
skip = 0;
}
props = props.Skip(skip).Take(10);
var marks = (from s in props.ToList()
select s);
return Json(new { markers = marks });
}
はそれですか?
このコードは何の例外も注意を払わないので、ゼロレコードを返します。
コードを実行してデバッグしましたか?私はtryparseに関するあなたの質問がコードをステップ実行することで答えられるので、これを尋ねます。 – MrBoJangles
どうやってこれを呼びますか? URLは何ですか? –
なぜTryParseを使用してnullをチェックしていますか? TryParseを使用して、失敗したときにデフォルト値を設定することができます。 – tvanfosson