2011-06-27 109 views
0

我在做一個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

你的提交按鈕在哪裏 – Tassadaque

回答

1

它depnds在您提交按鈕的謊言。無論按下哪個表單的提交按鈕,表單都會被張貼到相應的操作中。 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> 
0

你會得到取其構成您提交的值,但沒有在你的代碼的任何地方提交按鈕。

+0

實際上我正在使用ajax調用來發布用戶對數據庫的評論。所以沒有任何提交按鈕......我只是無法捕捉文本區域的值......任何幫助? – HorseKing

+0

我是否需要使用Ajax表單而不是常規表單? – HorseKing

+0

看到我更新的答案 – Tassadaque