2016-11-22 41 views
0

在我的asp.net應用程序中,我有一個textarea,它將用戶的評論作爲輸入。如何通過單擊asp.net mvc中的按鈕將textarea值傳遞給控制器​​操作?

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

這個textarea可以使用id來訪問。

我已下定義的按鈕(圖像按鈕)如下:

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

我想textarea的值傳遞給一個控制器動作時給評論按鈕被點擊。

目前我重定向到一個控制器動作如下:

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

如何才能實現這一目標,有這方面的幫助表示讚賞。

<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 })'; 
    } 

而且在行動:

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

創建表單,表單中添加文本區域,「名稱」屬性設置爲您的文字區域,並使用該名稱來訪問你的控制器 –

+0

^它的內容,或者給'了'元素 –

回答

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

的點擊一個AJAX請求你的方法似乎工作得很好,但是,不幸的是,我必須傳遞ViewBag中設置的更多值,我認爲不能在jQuery代碼中訪問。 –

+0

@SpiderMan確保您可以訪問ViewBag中的值。我已經更新了代碼 –

+0

謝謝大家你一直在大幫忙@Manu –

0

你可以通過像參數做。 1.創建一個將此textarea放入表單標籤的表單。 2.點擊按鈕調用Js方法。這個Js mehtod發出ajax請求。

+0

這不起作用,因爲當按下按鈕時,我需要獲取文本的值。這個代碼會在頁面加載時獲得值。 –

+0

onclick =「LeaveReviewFunc()」它會點擊留下評論按鈕觸發 –

+0

是的,但是,使用Url.Action方法內的變量textareadata會導致錯誤: –

0

你可以通過值通過兩種方式來控制器

相關問題