我有一个带有几个按钮的.cshtml页面,如下所示:

<input id="btnViewHistory" type="submit" name="postFunction" value="View History" />
<input id="btnComments" type="submit" name="postFunction" value="Comments" />


提交表单后,参数“ postFunction”被传递给控制器​​,我可以检查按下了什么按钮:

[HttpPost]
    public ActionResult LabApprovals(ModelApproval model, int page, string postFunction)
    {
        if (postFunction == null)
        {
          ...
        }
        else if (postFunction == "View History")
        {
            ...
        }
        else if (postFunction == "Comments")
        {
            ...
        }
        else
        {
            return View(model);
        }
    }


因此,如果单击“查看历史记录”按钮,则在命中控制器时postFunction =“ View History”。

除了按下按钮之外,我还需要从Java提交表单。我有使用Javascript提交表单的方法,但是如何传递参数?我想在到达控制器时使postFunction具有诸如“ Changed Page”的值。

    $("#txtPage").kendoNumericTextBox({
    change: function () {
        $("#formLabApprovals").submit();
    }
    });

最佳答案

通常,会将脚本提供的值放在一个隐藏字段中,这样它们就可以流入您的控制器,但对用户不可见。在现有脚本中设置字段的值。

10-06 03:11