Bir formdan bir denetleyici eylemine veri gönderemiyorum. Formu HTML.BeginForm() ile oluşturdum ve el ile sorgu dizesini oluşturduğumda iyi çalışan bir denetleyicim var, ancak denetleyici eylemimle bir formun nasıl işleneceğini anlamıyorum. Form verisini denetleyici eylemine doğru şekilde nasıl gönderirim?
<form class="navbar-form navbar-left">
<div class="form-group>
@using (Html.BeginForm("GeneralSearch", "Search", FormMethod.Post))
{
@Html.TextBox("searchString")
<button type="submit" class="default">Submit</button>
}
</div>
</form>
Ve
sonra benim denetleyicisi Şu anda ASP.NET otomatik orada yerleştirilenHttpGet
nitelik. Ancak, onu
HttpPost
olarak değiştirirsem, sorun hala devam eder. basitçe varsayılan denetleyici ve bunun yerine belirtilen "Ara" kontrolörün eylemini yükler
http://localhost:64562/?searchString=test
: Ben metin girmek ve formu gönderin
[HttpGet]
public ActionResult GeneralSearch(string searchString)
{
return View("SearchResult", viewModel);
}
, bir ağ isteği gönderilir using
bildirimi. Belirli bir işlem için doğru bir şekilde nasıl yayınlarım?
bak olmalıdır. Bağlanmaya çalışmak için 'name =" searchString "' ile bir girişe ihtiyacınız olacak. Ayrıca, form eylemi Mesajdır, ancak eyleminiz '[HttpGet]' olarak işaretlenmiştir. GET parametreleri, sorgu gövdesinden geçirilen sorgu dizesi ve POST parametrelerinden geçirilir. – Jasen
Textbox yönteminde verilen ad, HTML'de kullanılan ad değil midir? – user9993
@ user9993 - Çevrimiçi bir eğiticiyi tamamlamanız veya biraz okuma yapmanız en iyisi olabilir. [MVC'de View From Controller'a Veri Alma] gibi bir şey (http://www.c-sharpcorner.com/UploadFile/3d39b4/getting-data-from-view-to-controller-in-mvc/). Alternatif, yanlışlıkla hata ile yanıltıcı bir şekilde yanılmaktır. – Igor