【问题标题】:Get value from multiple form从多种形式中获取价值
【发布时间】:2011-06-27 16:36:25
【问题描述】:

我正在做一个 ASP.NET MVC 项目。

我在一页中有多个表单。

例如

<form method="post" action="" id="Form1" name="Form1">
    <textarea id="TextBox1" name="TextBox1" cols="8" rows="10"></textarea>
</form>

<form method="post" action="" id="Form2" name="Form2">
   <textarea id="TextBox2" name="TextBox2" cols="8" rows="10"></textarea>
</form>

在控制器中,我想从TextBox2中获取值,怎么办?

如果我使用 FormCollection form = new FormCollection(); 我得到了哪种表格?

非常感谢

更新代码

这里是链接,当用户点击它时,文本框的值将被提交。

    <%= Ajax.ActionLink("Submit Reply", "SubmitThisReply", "Home",
                    new { ParentID = item.QAID, ArticleID = item.ArticleID },
                    new AjaxOptions { UpdateTargetId = "QAContents", OnSuccess = hiddenDivName },
                    new { @class = "linkButton" })%>  

这是控制器的代码

        [HttpPost]
    public ActionResult SubmitThisReply(int ParentID, int ArticleID, FormCollection form)
    {
        //FormCollection form = new FormCollection();
        int UserID = Convert.ToInt16(Session["UserID"].ToString());
        string contentName ="txtReplyComment-"+ParentID.ToString();
        string content = form[contentName];

        QA replyQuestion = new QA();
        replyQuestion.ArticleID = ArticleID;
        replyQuestion.UserID = UserID;
        replyQuestion.ParentID = ParentID;
        replyQuestion.Content = "1";

        qaFunction.ReplyQA(replyQuestion);

        var allQA = bio.QAListByArticleID(ArticleID).ToList(); //Return Type: QAViews
        var firstLevelQA = allQA.Where(c => c.ParentID == null);

        ViewData["AllQA"] = allQA;
        ViewData["FirstLevelQA"] = firstLevelQA;


        if (!Request.IsAjaxRequest())
        {
            return RedirectToAction("ArticleDetail", "Home", new { articleID = ArticleID });
        }

        return PartialView("QAControl", ViewData["FirstLevelQA"]);
    }
}

上次更新

好吧,我想我找到了解决方案。

我只需要使用一个 ajax 表单,并在该表单中放置一个提交按钮...

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    它取决于您的提交按钮所在的位置。无论哪个表单的提交按钮被按下,表单都会被发布到相应的操作中。 This链接可以帮助你

    你需要做这样的事情

    <script>
    function formsubmit()
    {
     document.form1.action="Page Name here you want to go that
    page";
     document.form1.submit();
    }
    </script>
    
    <form name="form1" method="post">
    <input type= text onblur="formsubmit();">
    </form>
    

    【讨论】:

      【解决方案2】:

      您将获得您提交的任何表单的值,但您的代码中的任何地方都没有提交按钮。

      【讨论】:

      • 实际上我正在使用 ajax 调用,将用户的评论发布到数据库。所以根本没有提交按钮...我只是无法从文本区域捕获值...有什么帮助吗?
      • 我需要使用 Ajax 表单而不是常规表单吗?
      猜你喜欢
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 2019-02-01
      相关资源
      最近更新 更多