2017-02-17 58 views
-1

大家好,我不知道這是可能與否,這就是爲什麼我需要建議,以實現這一目標的人。事情是我想發佈的AJAX-beginform而不是模型對象的javacript對象控制器。我的代碼像波紋管,但無法找到一種方式發佈數據,我知道jQuery ajax是一個選項,但我不想在這種情況下使用jQuery ajax發佈數據。傳遞javascript對象ajax beginform mvc

HTML

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 
@section scripts{ 
    <script type="text/javascript"> 

     var getValues=function() 
     { 
      //alert(1) 
      var v = { 
       id: $("#txtid").val(), name: $("#txtName").val() 
      } 
      console.log(v) 
      return v; 
     } 

    </script> 
    } 

<h2>Index</h2> 
@using (Ajax.BeginForm("postvalue", new AjaxOptions { HttpMethod="POST", OnBegin = "getValues" })) 
{ 
    <input type="text" id="txtid" /> 
    <br /> 
    <input type="text" id="txtName" /> 
    <br /> 
    <button type="submit" value="Click" style="width:50px;height:50px">Click</button> 
} 

位指示

namespace AjaxBeginForm.Controllers 
{ 
    public class AjaxBeginFormController : Controller 
    { 
     // GET: AjaxBeginForm 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public void postvalue(searchValues objsearchValues) 
     { 

     } 
    } 

    public class searchValues 
    { 
     public Int64 id { get; set; } 
     public string name { get; set; } 
    } 
} 

我想POST數據到控制器,並趕上他們在objsearchValues

+0

你不想使用'$ .ajax()'?爲什麼不? (你認爲'Ajax.BeginForm()'做了什麼 - 它使用'$ .ajax()'發佈數據,所以你已經在幕後使用它) –

+0

這就是爲什麼我不想再次使用它。我只是想附加一個值的對象。是否有可能? – matrixwebtech

+0

你是什麼意思_我不想再用這個_?再次使用什麼?爲什麼你不只是使用'$ .ajax()'? –

回答

0

將JS值放在窗體的隱藏字段中,當表單提交時,它會將值傳遞迴控制器。

+0

沒有選擇直接發佈對象,比如jQuery.ajax() – matrixwebtech