2015-11-20 57 views
0

我有我需要在MVC 4中將數據傳遞給控制器​​的html表單。我需要在jquery中完成。的代碼是:如何將數據html beginform傳遞給MVC 4中的控制器在jquery

  <% using (Html.BeginForm("CopyEvaluationVersion", "Evaluations")) 
      <input type="submit" value="Submit" /> 

控制器

public ActionResult CopyEvaluationVersion(string copyEvaluationVersionId, string copyToYear) 

的數據是一個隱藏字段

<input type="hidden" id="copyEvaluationVersionId" name="copyEvaluationVersionId" value="<%= ViewData["evaluationVersionId"] %>" /> 

我需要隱藏的字段 「copyEvaluationVersionId」 傳遞給copyEvaluationVersionId控制器動作的ActionResult CopyEvaluationVersion(串copyEvaluationVersionId)。我想我需要在jQuery中完成它。但我不知道該怎麼做。

+0

不太清楚你的要求。如果你想提交表單並保持在同一頁面上,那麼你需要使用ajax。 –

+0

我修改帖子並重新閱讀。我不想留在同一頁面上。 – user585440

+1

那你爲什麼覺得你需要jQuery?如果您的屬性'copyEvaluationVersionId'的輸入位於表單標籤內,則當您提交表單時,它的值將被回傳。但是基於你所顯示的html,它的值是'null',那麼它有什麼意義呢? –

回答

0

您可以使用此腳本使用jQuery

$("#mybutton").click(function() { 
//use your own selector 
     $("form").submit(); 
}); 
1

提交HTML表單,你可以使用這個Ajax調用控制器實現。

function getDatatotheController() { 
    var mode = document.getElementById('copyEvaluationVersionId').value; 
    var parameters = { 'data': mode }; 

    $.ajax({ 
     type: "GET", 
     url: '/YourControllerName/CopyEvaluationVersion', 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     data: parameters, 
     success: successFunc, 
     error: errorFunc 
    }); 

    function successFunc(data) { 
     alert(data); 
    } 

    function errorFunc() { 
    alert(error); 
    }); 
    } 

和你的控制器的方法應該是這樣的

public ActionResult CopyEvaluationVersion(string copyEvaluationVersionId) 

你不能有兩個輸入參數,因爲你只有經過一個參數來控制通過Ajax調用。

注意: 如果您沒有將任何值傳遞給控制器​​的視圖,則「SuccesFunc」和「ErrorFunc」不是必需的。但是如果您需要傳遞任何值,則返回該視圖它將被傳遞作爲「數據」在「SucceFunc()」

希望這個答案可以幫助你..!

相關問題