【发布时间】:2016-07-18 02:00:14
【问题描述】:
我还是 MVC 的新手。现在在我的控制器中,我想执行基本的 CRUD,例如创建、编辑、详细信息。
我使用MySql作为数据库。
当我在调试模式下运行程序时,它没有显示错误。但是,在创建页面中,当我单击“提交”按钮时,输入的新数据不会在索引中更新。我想知道为什么在这里需要帮助。
你们能告诉我在创建和编辑中哪里做错了吗?提前致谢。
控制器:
//GET UserActivity/Details/5
public ActionResult Details(int id)
{
string sqlQuery = @"
SELECT ua.Id
,ua.CreatedBy
,ua.CreatedOn
,ua.ModifiedBy
,ua.ModifiedOn
,ua.ContactId
,ua.EntityName
,ua.EntityId
,ua.StatusCode
,ua.StateCode
,ua.ActivityType
,ua.ActivityStatus
,ua.DueDate
,ua.ActualEndDate
,ua.MasqueradeOn
,ua.MasqueradeBy
FROM UserActivity ua
INNER JOIN Contact c ON c.Id = ua.ContactId
WHERE ua.id = @UserActivityId
";
UserActivityModels userActivity = null;
using (IDbConnection db = new MySqlConnection
(ConfigurationManager.ConnectionStrings["CRMPORTALSQLCONN"].
ConnectionString))
{
userActivity = (UserActivityModels)db.Query<UserActivityModels>(sqlQuery
, new
{
@UserActivityId = id
}).FirstOrDefault();
}
return View(userActivity);
}
/* // POST: /UserActivity/Details
[HttpPost]
public ActionResult Details(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Details");
}
catch
{
return View();
}
}
*/
//----------------------------------------------------------------------------------------------------//
//GET /UserActivity/Create
public ActionResult Create()
{
return View();
}
//
// POST: /UserActivity/Create
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
/*
if (ModelState.IsValid)
{
userActivity.Add(useractivity);
*/
UserActivityModels useractivity = new UserActivityModels();
int Id = Convert.ToInt32(collection["Id"]);
int CreatedBy = Convert.ToInt32(collection["Created By"]);
DateTime CreatedOn = Convert.ToDateTime(collection["Created On"]);
int ModifiedBy = Convert.ToInt32(collection["Modified By"]);
DateTime ModifiedOn = Convert.ToDateTime(collection["Modified On"]);
string ContactId = collection["Contact Id"];
int StatusCode = Convert.ToInt32(collection["Status Code"]);
int StateCode = Convert.ToInt32(collection["State Code"]);
string EntityName = collection["Entity Name"];
int EntityId = Convert.ToInt32(collection["Entity Id"]);
DateTime DueDate = Convert.ToDateTime(collection["Due Date"]);
DateTime ActualEndDate = Convert.ToDateTime(collection["Actual EndDate"]);
DateTime MasqueradeOn = Convert.ToDateTime(collection["Masquerade On"]);
DateTime MasqueradeBy = Convert.ToDateTime(collection["Masquerade By"]);
string ContactName = collection["Contact Name"];
userActivity.Add(useractivity);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
//---------------------------------------------------------------------//
// GET: /UserActivity/Edit/5
public ActionResult Edit(int id)
{
//ConfigurationManager.ConnectionStrings["CRMPORTALSQLCONN"].ConnectionString);
string query = @"
SELECT ua.Id
,ua.CreatedBy
,ua.CreatedOn
,ua.ModifiedBy
,ua.ModifiedOn
,ua.ContactId
,ua.EntityName
,ua.EntityId
,ua.StatusCode
,ua.StateCode
,ua.ActivityType
,ua.ActivityStatus
,ua.DueDate
,ua.ActualEndDate
,ua.MasqueradeOn
,ua.MasqueradeBy
,concat(c.FirstName, ' ', c.LastName) AS ContactName
FROM UserActivity ua
INNER JOIN Contact c ON c.Id = ua.ContactId
WHERE ua.id = @userActivityId
";
UserActivityModels userActivity = null;
using (IDbConnection db = new MySqlConnection(ConfigurationManager.
ConnectionStrings["CRMPORTALSQLCONN"].ConnectionString))
{
// userActivity = (UserActivityModels)db.Query<UserActivityModels>(query);
userActivity = db.Query<UserActivityModels>(query
, new
{
@UserActivityId = id
}).FirstOrDefault();
}
return View(userActivity);
}
// POST: /UserActivity/Edit/
[HttpPost]
public ActionResult Edit()
{
if (ModelState.IsValid)
{
// TODO: Add update logic here
return RedirectToAction("Index");
}
return View(userActivity);
}
//------------------------------------------------------------------------//
// GET: /UserActivity/Delete/
public ActionResult Delete(int? id)
{
return View();
}
// POST: /SavedCar/Delete/5
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
// TODO: Add delete logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
用户活动模型:
public class UserActivityModels
{
[Display(Name = "Id")]
public int Id { get; set; }
[Display(Name = "Created By")]
public int CreatedBy { get; set; }
[Display(Name = "Created On")]
[DataType(DataType.DateTime)]
public DateTime CreatedOn { get; set; }
[Display(Name = "Modified By")]
public int ModifiedBy { get; set; }
[Display(Name = "Modified On")]
[DataType(DataType.DateTime)]
public DateTime ModifiedOn { get; set; }
[Display(Name = "Contact Id")]
public string ContactId { get; set; }
[Display(Name = "Entity Name")]
public string EntityName { get; set; }
[Display(Name = "Entity Id")]
public int EntityId { get; set; }
[Display(Name = "Status Code")]
public int StatusCode { get; set; }
[Display(Name = "State Code")]
public int StateCode { get; set; }
[Display(Name = "Activity Type")]
public int ActivityType { get; set; }
[Display(Name = "Activity Status")]
public string ActivityStatus { get; set; }
[Display(Name = "DueDate")]
[DataType(DataType.DateTime)]
public DateTime DueDate { get; set; }
[Display(Name = "Actual EndDate")]
[DataType(DataType.DateTime)]
public DateTime ActualEndDate { get; set; }
[Display(Name = "Masquerade On")]
[DataType(DataType.DateTime)]
public DateTime MasqueradeOn { get; set; }
[Display(Name = "Masquerade By")]
public int MasqueradeBy { get; set; }
[Display(Name = "Contact Name")]
public string ContactName { get; set; }
【问题讨论】:
-
标题确实具有误导性。问题是您的代码不与您的 MySQL 数据库通信。不是 CRUD 或 MVC...
标签: c# mysql .net asp.net-mvc crud