kullanarak bir denetleyiciye parametre aktarımı Bir görünüm ve denetleyici oluşturdum, denetleyici bazı arama sonuçlarını döndürmek istiyorum. My kontrolör Sorunum denetleyicisi içine benim jquery çağrısından varible dile nasıl emin değilim buJQuery ajax
[HttpPost]
public ActionResult Search(string input)
{
var result = _db.Ingredients.Where(i => i.IngredientName == input);
return new JsonResult() {Data = new {name="Hello There"}};
}
benziyor
<input type="text" id="caption" />
<a href="#" id="search">Search</a>
<script>
$("#search").click(function() {
alert('called');
var p = { Data: $('#search').val() };
$.ajax({
url: '/Ingredients/Search',
type: "POST",
data: JSON.stringify(p),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
},
error: function() {
alert("error");
}
});
});
, ben koydum jquery kullanarak kontrolörü arıyorum kontrolördeki kesme noktası ve bununla ilgili olarak vuruldu ancak giriş dizgisi her zaman boştur.
Neyi yanlış yaptım?
Doğru. Açıklamak gerekirse: C# 'daki değişkeniniz ve kullandığınız JSON öğesinde kullanılan alan aynı ada sahipse, otomatik olarak birbirleriyle bağlanırlar. JSON özelliğini "{captionvalue: $ ('# caption'). Val()}' olarak değiştirirseniz, işlevinizdeki değişkeni "captionvalue" olarak yeniden adlandırmanız gerekir. Sadece bir açıklama bu yüzden neden bu :-) çalıştığını anlıyorsunuz – Flater