私は学生を検索し、テキストボックスに入力された値に基づいて学生レコードを表示しようとしています。 Jqueryを使わずに値を渡す方法がわかりません。方法はありますか?アクションリンクをクリックするとビューからパラメータを渡してコントローラを呼び出す必要があります
コントローラー:
[Authorize]
public ActionResult GetStudentsByName(string name)
{
SchoolDbEntities db = new SchoolDbEntities();
var student = db.Students.Where(s => s.StudentName.Contains(name));
return View(student);
}
ビュー
<div class="panel-body">
<div class="form-group">
@Html.LabelFor(m=> m.SearchEntity.StudentName,"Search Student")
@Html.TextBoxFor(m => m.SearchEntity.StudentName, new { @class = "form-control" })
</div>
</div>
<div class="panel-footer">
<button type="button" onclick="location.href='@Url.Action("GetStudentsByName", "Student")'" class="btn btn-primary">Search <i class="glyphicon glyphicon-search"></i></button>
<button id="Reset"
class="btn btn-primary btn-sm">
<i class="glyphicon glyphicon-share-alt"></i> Reset
</button>
</div>
私は、@のUrl.Action( "GetStudentsByName"、 "学生" では、PARAMを渡す必要があります{新しいです@ name = 'テキストボックスの値')
また、Getメソッドであり、httpPostではありません。
ボタンをクリックしてコントローラメソッドにブレークポイントを設定すると、ブレークポイントで一時停止しますか?私は同じことを試みているが起こっていない –
はい。検索ボタンをクリックすると、GETメソッドを介して 'GetStudentsByName'アクションメソッドにフォームを送信します。クエリー文字列のテキストボックスに入力された名前が表示されます。 'GetStudentsByName'アクションメソッドにブレークポイントを置き、' name' paramの値を調べると、クエリーストリングで同じ値を見ることができます。 – Shyju
回答にあるとおり、ボタンが送信タイプであることを確認してください。 – Shyju