从多种形式中获取价值

时间:2011-06-27 07:13:14

标签: asp.net asp.net-mvc

我正在做一个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表单,并在该表单中放置一个提交按钮......

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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