Asp.net mvc 如何在Mvc中基于按钮点击(按钮文本更改)选中和取消选中复选框?

Asp.net mvc 如何在Mvc中基于按钮点击(按钮文本更改)选中和取消选中复选框?,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,我有一个按钮:打开电子邮件,并在该按钮的一侧选中复选框(未选中) 当我点击打开电子邮件按钮时,它应该调用控制器的操作方法,我必须在其中写入SP以更新电子邮件表 Email\u ON\u OFF\T表有一个字段:isemailon\u OFF(int类型)。我在其中插入了值0 因此,打开电子邮件按钮的文本将变为关闭电子邮件,复选框将被选中 我尝试了以下代码: <div class="col-md-8 form-group" style="text-align:right;">

我有一个按钮:打开电子邮件,并在该按钮的一侧选中复选框(未选中)

当我点击
打开电子邮件
按钮时,它应该调用控制器的操作方法,我必须在其中写入SP以更新电子邮件表

Email\u ON\u OFF\T表有一个字段:isemailon\u OFF(int类型)。我在其中插入了值0

因此,
打开电子邮件
按钮的文本将变为
关闭电子邮件
,复选框将被选中

我尝试了以下代码:

    <div class="col-md-8 form-group" style="text-align:right;">

                    <input type="button" value="Turn Email ON" class="btn btn-success" id="btnturnemailonoff" />
                </div>
                <div class="col-md-2 form-group">
                    <input type="checkbox" id="Chkemailonoff" />
                </div>
从Ajax,我将数据(视图)传递给控制器操作方法

    [HttpPost]
            public ActionResult CheckEmail(string checkemails)
            {

                //how to call Stored Procedure
                return new JsonResult { };
            }
我已经写了以下内容:

    ALTER procedure [dbo].[Sp_Email_on_off]
    @checkemails varchar(10)
    As
    Begin
    if(@checkemails='false')
    Update Email_ON_OFF_T set isEmailON_OFF=1 
    else
    Update Email_ON_OFF_T set isEmailON_OFF=0 

    End

我遇到的问题是存储过程。如何在控制器操作方法中写入和执行Sp?这是我在MVC中的第一个任务。如何使用Mvc实现这一点?

您可以使用FromSqlExecuteSqlCommand来执行存储过程

FromSql只能用于执行原始SQL查询或存储过程以获取数据。您不能将其用于插入/更新/删除。如果要执行INSERT、UPDATE、DELETE查询,请使用EXECUTESQL命令。它返回指示受影响行数的整数值

这是一个符合你要求的样品。希望能帮上忙,我的朋友:))


您可以使用FromSqlExecuteSqlCommand执行存储过程

FromSql只能用于执行原始SQL查询或存储过程以获取数据。您不能将其用于插入/更新/删除。如果要执行INSERT、UPDATE、DELETE查询,请使用EXECUTESQL命令。它返回指示受影响行数的整数值

这是一个符合你要求的样品。希望能帮上忙,我的朋友:))


朋友,你使用DbContext还是ADO.net?@Tomato32…实体模型。EdmxD朋友,您使用DbContext还是ADO.net?@Tomato32…实体模型。Edmxc你能帮我做这个链接吗你能帮我做这个链接吗
    ALTER procedure [dbo].[Sp_Email_on_off]
    @checkemails varchar(10)
    As
    Begin
    if(@checkemails='false')
    Update Email_ON_OFF_T set isEmailON_OFF=1 
    else
    Update Email_ON_OFF_T set isEmailON_OFF=0 

    End
if(!string.IsNullOrWhiteSpace(checkemails))
{
    dataContext.Database
           .ExecuteSqlCommand("Sp_Email_on_off @checkemails", checkemails);
}