【问题标题】:Update ReceivedDate Column using ActionResult MVC on button click单击按钮时使用 ActionResult MVC 更新 ReceivedDate 列
【发布时间】:2014-11-15 00:51:54
【问题描述】:

我的视图上有一个“提交此批次”按钮,其中样本被输入到预先确定的批次中。

点击后,我想做 2 次更新:

1--将所有批次 id=Session["BatchID"] 的记录更新为今天的日期。 (只有一个字段需要更新,但需要更新多行。)

2--在批次表中将批次的状态更新为“C”(关闭)。

很确定我是从 ActionResult 执行此操作的,我知道我不会有问题:

<button onclick="location.href='@Url.Action("<ActionResultName>", "ControllerName")';return false;">Commit This Batch</button>

在我的 ActionResult 中,我完全是在画一个空白。这是 Management Studio 中查询窗口中的 SQL,我想用尽可能少的代码来模拟它:

UPDATE dbo.BactiBatches SET BatchStatus= 'C'
WHERE BactiBatchID= <SessionValue>

UPDATE dbo.BactiBucket SET ReceivedDate = GetDate()
WHERE BactiBatchID= <SessionValue>

我正在使用 EF 和 MVC4。

【问题讨论】:

  • 您到底在寻找什么?你有清晰的心流吗?您在寻找 EF 查询或控制器级代码吗?如果您在控制器中做了任何事情,请在此处发布
  • 我假设我会同时使用 Linq 来在 Controller ActionResult 内部进行更新,如我的按钮单击示例中所示。一个表将“O”更改为“C”,另一个表将 null 更改为今天的日期时间值。第一个表名是“BactiBatches”。第二个表名是 BactiBucket。在执行更新的 ActionResult 结束时,将用户返回到调用页面。没有额外的观看次数。
  • 真的很简单,不知道怎么问这么简单的问题。我再试一次:MVC 4,实体框架,需要更新 2 个不同表中的列值。

标签: sql asp.net-mvc asp.net-mvc-4 actionresult


【解决方案1】:

好的,不知道如何让我的问题更简单。但我发现这个答案瞧!作品。 https://stackoverflow.com/a/8566906/564810

所以下面是我的 HomeController 中的代码,当它被调用时,它完全符合我的要求。不需要其他任何东西。当然,控制器做了很多其他的 CRUD,所以 EF 声明在顶部:

public class HomeController : Controller{

    DWS_Entities _db;


    public HomeController()
    {

        _db = new DWS_Entities();

    }

public ActionResult CommitThisBatch()
{
    _db.ExecuteStoreCommand("UPDATE dbo.BactiBatches SET BatchStatus = 'C' WHERE BactiBatchID= " + Session["ThisBatch"]);


    _db.ExecuteStoreCommand("UPDATE dbo.BactiBucket SET RecvDate = GetDate() WHERE Batch_ID= " + Session["ThisBatch"]);

    return RedirectToAction("AddColiform");

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2018-06-04
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多