c# - 如何根据在 ASP.NET MVC 中单击的按钮更改表单提交的操作?

标签 c# html asp.net-mvc webforms

我的 ASP.NET MVC 站点上的“消息” View 有一个类似于以下模型(从 Facebook 中截取的图片)的表单。 alt text

我希望让“标记为未读”和“删除”功能适用于如下所示的表单。我正在尝试弄清楚如何使用 html 表单执行此操作。

如何让点击“标记为未读”提交到一个表单 url,然后“删除”将相同的表单提交到不同的 url?

如果您点击“标记为未读”,我希望它将表单提交到“/Messages/MarkUnread”,如果它是“删除”按钮,我希望它将表单提交到“/消息/删除”。

我想让它在没有 javascript 的情况下工作,一旦完成,我将添加 jQuery 表单插件,以便在启用 JS 时执行 ajax 提交,否则它将执行正常的表单发布。

最佳答案

我是一个 MVC 新手,但我相信表单只能提交一个 Action 。

就是说,在您要发布的操作中,我知道您将能够分辨出单击了哪个按钮并适本地处理事情,例如:

    [AcceptVerbs(HttpVerbs.Post)]
    public ViewResult Index(string btnCompose, string btnMarkAsRead, string btnDelete)
    {
        if (btnCompose != null)
        {
            // Compose was clicked, handle appropriately
        }
        else if (btnMarkAsRead != null)
        {
            // Mark As Read was clicked, handle appropriately
        }
        else if (btnDelete != null)
        {
            // Delete was clicked, handle appropriately
        }
    }

这假定您的 HTML 元素被命名为“btnDelete”等。

关于c# - 如何根据在 ASP.NET MVC 中单击的按钮更改表单提交的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976670/

相关文章:

jquery - 固定覆盖 - scrolltop 不解决 div

c# - 导航转换 - Windows Phone 工具包

javascript - jQuery .css() 函数和位置 : fixed table 出现问题

c# - 按下空格键时插入 "|"而不是 ""时出现问题

jquery - 如何在 Bootstrap 中将这些图像居中?

c# - 格式化要显示的 ajax.actionlink 文本

asp.net-mvc - 缺少尾部斜杠的虚拟目录

c# - .NET 4.5 中的异步服务外观

c# - 使用 "c#"启动 chrome 地址栏谷歌搜索现在将字符串更改为 "c/#"

c# - 如何将对象从 form1 传递到 form2 再返回到 form1?