【发布时间】:2021-11-16 17:57:48
【问题描述】:
我的 Web 应用程序的前端有一个用户可以提交的表单,该表单与一个名为 Requirement 的模型相关联。因为创建和编辑数据只有一个表单,所以我需要一种方法来在我的控制器中处理这个过程。
为了让事情变得更简单,我将模型中传入的 Id 作为参考点并从那里开始工作。
Process_Requirement
这是点击提交时表单调用的操作。它查看传入的 Id,条件是如果它是 0,它是新的,它在 0 之上,它已经存在。
public async Task<JsonResult> Process_Requirement(Requirement model)
{
//It's new
if (model.Id == 0) {
var create = await Create_Requirement(model);
return Json(new { model = create });
}
//It exists
else {
var update = await Update_Requirement(model);
return Json(new { model = update });
}
}
此父操作根据满足的条件引用以下两个操作。
public async Task<JsonResult> Create_Requirement(Requirement model)
{
try
{
var requirement = await _requirement.CreateAsync(model);
return Json(new { success = true, data = requirement.Id, operation = "create" });
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return Json(new { success = false, data = model });
}
public async Task<JsonResult> Update_Requirement(Requirement model)
{
try
{
var requirement = await _requirement.UpdateAsync(model);
return Json(new { success = true, data = requirement.Id, operation = "update" });
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return Json(new { success = false, data = model });
}
那么,这里有什么问题?好吧,我只是认为我在这里的方法并不像它应该的那样干净,笨拙,而且也许不太正确。是的,它有效!但我想确保我正在生成运行良好的流畅代码,并认为我会在这里发布它,看看人们的想法是什么以及我怎样才能做得更好?
【问题讨论】:
-
这可能更适合Code Review。
-
在Code Review 发帖之前,请务必阅读A guide to Code Review for Stack Overflow users,因为那里有些事情的处理方式不同 - 例如。问题标题应该简单地说明代码做了什么,因为问题总是“我该如何改进?”。确保代码正常工作;如果可能的话,包括你的单元测试。您可能会收到一些建议,使其更高效、更易于阅读和更好地测试。
标签: c# entity-framework asp.net-core