このコードで asp.net mvc 4 の「入力文字列が正しい形式ではありませんでした」というエラーが表示されます)、ブランドがテーブルにあるドロップダウンリストは文字列値ですが、それらが関連している項目テーブルの行はint値です。検索結果の http 投稿は文字列値でそれを実行しようとしますが、クエリ パスを検索するブランドの int id を URL に手動で入力すると、エラーが発生します。これが私のコードの例で、私の悪い英語で申し訳ありません。
public ActionResult Index(string marcas, string search_query)
{
var MarcaLst = new List<string>();
var MarcaQry = from d in db.Marcas // table Brand
orderby d.Marca1 // string row of the table Brand
select d.Marca1;
MarcaLst.AddRange(MarcaQry.Distinct());
ViewBag.marcas = new SelectList(MarcaLst);
var marca = from m in db.Marcas
select m;
if (!String.IsNullOrEmpty(search_query))
{
descripcion = descripcion.Where(s => s.Descripcion.ToUpper().Contains(search_query.ToUpper()));
}
if (string.IsNullOrEmpty(marcas))
return View(descripcion.ToList());
else
{
int marcasint = Convert.ToInt32(marcas); // I get the error here from a work around to make the page load
return View(descripcion.Where(x => x.MarcaID == marcasint)); //MarcaID is the int value of the Items table for the Brand
}
}
url/articulos?search_query=a&marcas=BSN //エラー
url/articulos?search_query=a&marcas=1 //パス