【发布时间】:2016-04-25 09:10:13
【问题描述】:
所以我是 ASP 和 EF 的新手,我想知道如何执行这个令人难以置信的基本操作,以及一些问题。
目前我有一个表,我们将称之为 Resource;
class Resource
{
int current;
int min;
int max;
};
现在我有默认的 CRUD 选项。我想要的是主列表上的一个 + / - 按钮,它将操纵每个资源的当前值并更新数据库和屏幕上的值。
我还想对选定的一组资源运行某些操作,例如“AddFive”。
所以我的问题;
- 我该怎么做?
- 这是可扩展的吗?如果有人不断按下按钮,这显然会向我的数据库发送大量请求。有没有办法限制这种影响?
- 我有哪些替代方案?
谢谢。
编辑: 澄清问题;这是我的帖子功能。如何/在哪里添加这些在我的视图中以获取显示每个资源的按钮。我只想让动作触发并刷新值,而不是重定向到新页面。
@Html.ActionLink("+", "Increment", new { id = item.ID })
public void Increment(int? id)
{
if (id != null)
{
Movie movie = db.Movies.Find(id);
if (movie != null)
{
Increment(movie);
}
}
}
[HttpPost, ActionName("Increment")]
[ValidateAntiForgeryToken]
public ActionResult Increment([Bind(Include = "ID,Title,ReleaseDate,Genre,Price")] Resource resource)
{
if ((resource.Current + 1) < (resource.Max))
resource.Current++;
return View(resource);
}
【问题讨论】:
-
请向我们展示您需要帮助的具体代码,并在您的帖子中只问一个问题。
-
@CountZero 他们都是同一个问题的一部分;如何使用按钮增加/减少值。除非您想查看预生成的 CRUD 代码,否则我没有代码可显示?
-
您是否尝试过在控制器上创建“加五”方法?我们可以帮助解决特定的代码问题,但提供超出 SO 范围的完整解决方案。 stackoverflow.com/help/how-to-ask - 我们非常乐意提供帮助,但这个问题太笼统了。
-
@CodeZero 我已经用我的增量/减量帖子更新了条目。只是为了确认; Bind(Include="Current") 意味着它只会发布当前值而不会发布其他值?
-
想我知道你在问什么。现在将示例应用程序放在一起。
标签: c# asp.net asp.net-mvc entity-framework