2011-07-14 25 views
5

TextBox'un değerini ActionLink parametresi olarak nasıl gönderebilirim?Parametreleri MVC'ye geçirme Ajax.ActionLink

Ben Html.TextBoxFor

<%= Html.TextBoxFor(m => m.SomeField)%> 
<%= Ajax.ActionLink("Link Text", "MyAction", "MyController", new { foo = "I need here the content of the textBox, I mean the 'SomeField' value"}, new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

contoller kullanmak gerekir/Eylemler şuna benzer: MVC 2,0

+0

Cevabınız: http://stackoverflow.com/questions/2595830 Bu durumda burada yapabileceğini ne/geçen-çok-parametreler-içinde-bir-mvc-ajax-actionlink – AmirHossein

cevap

7

kullanma

public class MyController{ 
    public ActionResult MyAction(string foo) 
    {  
     /* return your content */ 
    } 
} 

nasıl değerini gönderebilir TextBox, ActionLink'in bir parametresi olarak mı?

girdi bir sunucuya (örneğin metin kutularının gibi) değerlerini alanlar gönderme semantik doğru yolu <form> değil bağlantılar bir html kullanmaktır: Denetleyiciniz eylem Şimdi

<% using (Ajax.BeginForm("MyAction", "MyController", new AjaxOptions { UpdateTargetId = "updateTargetId" })) { %> 
    <%= Html.TextBoxFor(m => m.SomeField) %> 
    <input type="submit" value="Link Text" /> 
<% } %> 

otomatik alacak kullanıcı tarafından girilen SomeField girişinin değeri:

public class MyController: Controller 
{ 
    public ActionResult MyAction(string someField) 
    {  
     /* return your content */ 
    } 
} 

tabii biçimlendirme semantiğini ve yolu HTML ihlal deneyebilirsiniz içinde işe gerekiyordu Yanlış olsa bile ActionLink kullanarak susturma.

<%= Html.TextBoxFor(m => m.SomeField) %> 
<%= Html.ActionLink("Link Text", "MyAction", "MyController", null, new { id = "myLink" }) %> 

ve ardından ayrı bir javascript dosyası unobtrusively AJAXify jQuery kullanarak bu bağlantı içinde:

$(function() { 
    $('#myLink').click(function() { 
     var value = $('#SomeField').val(); 
     $('#updateTargetId').load(this.href, { someField: value }); 
     return false; 
    }); 
}); 
+0

Merhaba, neden $ (function() {) kullanıyorsunuz? Neden $ ('# myLink') değil direclty tıklayın? $ (belge) .on ('tıklayın', '#myLink', fonksiyon() aynı şey? Teşekkürler – Patrick

İlgili konular