2012-07-02 9 views

risposta

4

Invece di passare il valore utilizzando @ Html.actionlink, prova a jquery a trasferire il valore del tuo textbox sul controller come:

$(function() { 
    $('form').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: { search: $('#textboxid').val()}, 
      success: function (result) { 
       $('#mydiv').html(result); 
      } 
     }); 
     return false; 
    }); 
}); 

Questo codice invierà il valore della casella di testo al controller e restituirà il risultato di output che verrà caricato nel div "mydiv".

-1

è possibile utilizzare questo codice (yourvalue = TextBox.Text)

Html.ActionLink("Test", new { controller = "YourController", action = "YourAction", new { id = YourValue }, null); 

public class YourController : Controller 
{ 
     public ActionResult YourAction(int id) 
     { 
      return View("here your value", id); 
     } 
} 
+0

Ho provato, ma come prendere valore della casella di testo in yourvalue ????? e dove prendere? – kiransh

+0

provare con <% = Html.TextBoxFor (x => x.Property, new {id = "IdTextBox"})%> –

+0

@ Html.TextBoxFor (x => x.name, new {id = "IdTextBox"}) @ Html.ActionLink ("test", "Crea", "Home", nuova {id = IdTextBox}), ma non ha funzionato. :( – kiransh

2

per passare i dati dal client al server è possibile utilizzare un form HTML:

@using (Html.BeginForm(actionName,controllerName)) { 
    <input type="text" name="myText"/> 
    <input type="submit" value="Check your value!"> 
} 

essere sicuri di catturare la tua variabile myText all'interno del metodo del controller

9

Nessuna delle risposte qui funziona davvero. La risposta accettata non aggiorna la pagina come farebbe un normale link di azione; il resto semplicemente non funziona affatto o vuoi che tu abbandoni la tua domanda come dichiarato e chiudi usando ActionLink.

È possibile utilizzare il htmlAttributes del metodo ActionLink di fare ciò che si vuole:

Html.ActionLink("My Link Title", "MyAction", "MyController", null, new { onclick = "this.href += '&myRouteValueName=' + document.getElementById('myHtmlInputElementId').value;" }) 
+0

Questo ha funzionato grande, grazie! – Lori

+0

suo funzionamento! grande –

Problemi correlati