は、コントローラはモデルアイテムは、「MVC_Web_App.Models.Products」私はテストアプリケーション を設計しています
[HttpGet]
public ActionResult EditSingleProduct(string PrdNm)
{
try
{
List<Products> ProductGrid = new List<Products>();
string UserAdded = Session["User"].ToString();
SqlConnection Prodct = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
Prodct.Open();
using (SqlCommand command = new SqlCommand("", Prodct))
{
command.CommandText = "Select * from [Rush].[dbo].[Product] where ProductName='" + PrdNm + "'";
SqlDataAdapter dataAdapter = new SqlDataAdapter(command);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
DataTable dtTable = dataSet.Tables[0];
foreach (DataRow dr in dtTable.Rows)
{
Products Prd1 = new Products();
Prd1.ProductName = dr["ProductName"].ToString();
Prd1.ProductType = dr["ProductType"].ToString();
Prd1.ProductPrice = dr["ProductPrice"].ToString();
Prd1.Quality1 = dr["Quality1"].ToString();
Prd1.Quality2 = dr["Quality2"].ToString();
Prd1.Quality3 = dr["Quality3"].ToString();
ProductGrid.Add(Prd1);
}
}
return View(ProductGrid.ToList());
}
catch (Exception ex)
{
return View();
}
}
あるタイプのものであり、表示がある
<title>EditSingleProduct</title>
@using (Html.BeginForm())
{@Html.TextBoxFor(Prd1 => Prd1.ProductName, new { @class = "form-control text-center", placeholder = "Product Name" }) @Html.ValidationMessageFor(Prd1 => Prd1.ProductName)
@Html.TextBoxFor(Prd1 => Prd1.ProductType, new {@class = "form-control text-center", placeholder = "Product Type" }) @Html.ValidationMessageFor(Prd1 => Prd1.ProductType)
@Html.TextBoxFor(Prd1 => Prd1.ProductPrice, new {@class = "form-control text-center", placeholder = "Product Price" }) @Html.ValidationMessageFor(Prd1 => Prd1.ProductPrice)
@Html.TextBoxFor(Prd1 => Prd1.Quality1, new { @class = "form-control text-center", placeholder = "Specification-I" })
@Html.ValidationMessageFor(Prd1 => Prd1.Quality1)
@Html.TextBoxFor(Prd1 => Prd1.Quality2, new { @class = "form-control text-center", placeholder = "Specification-II" })
@Html.ValidationMessageFor(Prd1 => Prd1.Quality2)
@Html.TextBoxFor(Prd1 => Prd1.Quality3, new {@class = "form-control text-center", placeholder = "Specification-III" })
@Html.ValidationMessageFor(Prd1 => Prd1.Quality3)
<input type="submit" id="Updatebtn" value="Update Product" class="btn" />
が、私はデータを取得することができません SQLがうまくいけば私は各ループのために要求された1つのアイテムを取得しています。私はちょうどそのデータでテキストボックスを埋めるしたい、ユーザーはテキストボックスを編集し、コードは正常に動作しています
あなたのコードを正しくフォーマットして、質問にエラーメッセージの詳細を含めてください(そしてあなたのコレクションをビューに戻しましたが、ビューはコレクションではなく単一の 'Products'に基づいているように見えます) –
ビューは '@model xxx'でなければなりません。xxxは' return View(xxx);内のビットのタイプと一致していなければなりませんエラーメッセージはそれらが同じではないことを伝えています –