2016-11-22 6 views
0

私のasp.netアプリケーションでは、入力としてユーザーのレビューを取るテキストエリアがあります。asp.net mvcのボタンをクリックすると、コントローラのアクションにtextareaの値を渡す方法は?

<div> 
    <textarea name="mytext" id="mytext"></textarea> 
</div> 

このテキストエリアには、idを使用してアクセスできます。

次のように私は次のボタン(画像ボタン)を定義している:

<a class="btn btn-success">Leave a Review</a> 

私は休暇レビューボタンがクリックされたときに、コントローラのアクションにテキストエリアの値を渡したいと思います。これを達成することができる方法

<a class="btn btn-success" onclick="localtion.href='@Url.Action("ControllerAction", "ControllerName", new { // pass data here })'">Leave a Review</a> 

は、この上の任意のヘルプは高く評価され、次のよう

は現在、私は、コントローラのアクションにリダイレクトします。

+3

フォームを作成し、フォーム内にtextareaを追加し、textareaに "name"属性を設定し、その名前を使用してコントローラー –

+0

のコンテンツにアクセスするか、a要素のクリック時にAJAX要求を行います –

答えて

0

あなたは同様にあなたは、パラメータを渡すことができますjqueryの

 <div> 
     <textarea name="mytext" id="mytext"></textarea> 
    </div> 
    <a class="btn btn-success" onclick="myFunction">Leave a Review</a> 

    function myFunction(){ 
    var myText =$('#mytext').val(); 
    var number = parseInt(@ViewBag.Number); //Accessing the number from the ViewBag 
    alert("Number is: " + number); 
    var model = @Html.Raw(@ViewBag.FooObj); //Accessing the Json Object from ViewBag 
    alert("Text is: " + model.Text); 
    window.location.href = '@Url.Action("ControllerAction", "ControllerName", new { someParam = "myText", viewbagNum = number ,viewbagModelText = model.Text})' 
    } 
+0

あなたのメソッドはうまくいくようですが、残念ながらViewBagの中に設定されているもう1つの値を渡す必要があり、jqueryコードではアクセスできないと思います。 –

+0

@SpiderMan ViewBagから値にアクセスできることを確かめてください。私はコードを更新しました –

+0

おかげであなたは大きな助けになりました@Manu –

0

を使用してそれを行うことができます:あなたは2つの方法でコントローラに値を渡すことができ

public ActionResult ControllerAction(string text) { 
    //enter code here 
} 
+0

ボタンが押されたときにテキストの値を取得する必要があるため、これは機能しません。このコードは、ページがロードされたときに値を取得します。 –

+0

onclick = "LeaveReviewFunc()"これは、[レビューを残す]ボタンをクリックすると起動します –

+0

これはうまくいきますが、Url.Actionメソッド内の変数textareadataを使用するとエラーが発生します: –

0

<textarea name="mytext" id="mytext"></textarea> 
<a class="btn btn-success" onclick="LeaveReviewFunc()">Leave a Review</a> 

    function LeaveReviewFunc() { 
     var textareadata = $("#mytext").val(); 
     window.localtion.href='@Url.Action("ControllerAction", "ControllerName", new { text : textareadata })'; 
    } 

と行動で。 1.フォームを作成し、このテキストエリアをフォームタグに配置します。 2.ボタンをクリックしてJsメソッドを呼び出します。このJsメソッドでは、ajaxリクエストを行います。

関連する問題