2017-02-17 2 views
-1

Salut tout ce que je ne sais pas est-ce possible ou non, c'est pourquoi les gars j'ai besoin de suggestion pour y parvenir .La chose est que je veux poster l'objet javacript avec ajax-beginform au lieu de l'objet modèle manette . Je code comme ci-dessous mais ne peux pas trouver un moyen de publier les données, je sais jQuery ajax est une option, mais je ne veux pas utiliser jQuery ajax pour l'affichage des données dans ce cas.passer javascript objet 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> 
} 

Contoller

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

Je veux publier des données sur le contrôleur et les attraper dans objsearchValues ​​.

+0

Vous ne voulez pas utiliser '$ .ajax()'? Pourquoi pas? (Que pensez-vous que Ajax.BeginForm() 'fait - il utilise' $ .ajax() 'pour afficher les données, donc vous l'utilisez déjà dans les coulisses) –

+0

c'est pourquoi je ne veux pas l'utiliser à nouveau. Je veux juste attacher un objet avec des valeurs. Est-ce possible? – matrixwebtech

+0

Que voulez-vous dire _Je ne veux pas l'utiliser à nouveau_? Utilisez quoi encore? Et pourquoi n'utilisez-vous pas simplement '$ .ajax()'? –

Répondre

0

Placez la valeur JS dans un champ masqué dans le formulaire et lorsque le formulaire est soumis, il transmettra la valeur au contrôleur.

+0

il n'y a pas d'option pour publier un objet directement comme jQuery.ajax() – matrixwebtech