2011-06-27 20 views
0

私はASP.NET MVCプロジェクトをやっています。複数のフォームから値を取得

1つのページに複数のフォームがあります。コントローラには例えば

<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フォームを使用する場合=新しい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"]); 
    } 
} 

最終更新

まあのためのコードですが、私は私が解決策を見つけたと思います。

私はちょうどあなたがボタンの嘘を提出する場所それはdepnds

+0

送信ボタンは – Tassadaque

答えて

1

... Ajaxのフォームを使用する必要があり、そのフォーム内の送信ボタンを置きます。どのフォームの送信ボタンが押されても、それぞれのアクションに投稿されます。 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

関連する問題