我正在做一个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表单,并在该表单中放置一个提交按钮......
答案 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)
您将获得您提交的任何表单的值,但代码中的任何位置都没有提交按钮。