如何将文本值传递给动作参数?

时间:2019-05-29 05:09:43

标签: asp.net-mvc model-view-controller

我需要将输入值传递给控制器​​中的操作方法

我有文字和按钮,因此我需要单击按钮,并将输入值作为参数,然后返回到同一视图,但处于发布状态

我尝试了很多事情,但是没有用

我尝试创建帖子表格,并且按钮的类型为“提交”,但不起作用

  

这是我的查看代码

<form method="post">
    <input  type="text" id="Comments" , name="ID" value="" />
    <button type="submit">Go</button>

</form>
  

这是我的控制器代码

 public ActionResult Index()
        {
            Entities db = new Entities();
            var Query = from acc in db.tbl_Accounts
                        select acc ;

            var accList= Query.ToList<tbl_Accounts>();
            return View(accList);

        }
        [HttpPost]
        public ActionResult Index(int ID)
        {
            Entities db = new Entities();
            var Query = from Acc in db.tbl_Accounts
                        where Acc.id== ID
                        select Acc ;

            var accList= Query.ToList<tbl_Accounts>();
            return View(accList);

        }

2 个答案:

答案 0 :(得分:0)

您的代码中有一些拼写错误,如果您按照以下说明进行更正,那么它将按预期工作:

$res=DB::table('products')
    ->select('brands.name')
    ->join('brands','brands.id','=','products.brand_id')
    ->join('transaction_sell_lines','products.brand_id','=','transaction_sell_lines.product_id')
    ->get();

因此,现在仅检查参数值是否存在:

<form method="post">
    <input type="text" id="Comments" name="ID" />
    <button type="submit">Go</button>
</form>

如果该值存在,则假定该值还可以。

这是我测试过此答案的screenshot

答案 1 :(得分:0)

在您的视图模型中,使用@Html.BeginForm重定向到控制器中的操作方法。

可见

@using (Html.BeginForm("youractionname", "yourcontrollername",FormMethod.Post, new { @class = "form-horizontal"}))
{
<input type="text" id="Comments" name="ID" />
    <button type="submit">Go</button>
}

在控制器中

public ActionResult Index()
        {
            Entities db = new Entities();
            var Query = from acc in db.tbl_Accounts
                        select acc ;

            var accList= Query.ToList<tbl_Accounts>();
            return View(accList);

        }
    [HttpPost]
    public ActionResult Index(int ID)
    {
        Entities db = new Entities();
        var Query = from Acc in db.tbl_Accounts
                    where Acc.id== ID
                    select Acc ;

        var accList= Query.ToList<tbl_Accounts>();
        return View(accList);

    }

您已在操作方法中采用了整数数据类型,以便在文本框中输入数字值

注意:请在视图模型中验证您的操作和控制器名称