#c# #asp.net #asp.net-mvc #linq #textbox
#c# #asp.net #asp.net-mvc #linq #текстовое поле
Вопрос:
Что я пытаюсь сделать, так это передать значение текстового поля этого определенного представления его собственному контроллеру.
В представлении есть только 1 текстовое поле, текстовое поле для идентификатора, затем контроллер выполняет запрос linq, который выполняет поиск в базе данных, соответствующей этому идентификатору.
Итак, когда я запускаю свою программу, сначала она показывает пустой gridview и пустое текстовое поле. Что я хочу сделать, так это когда я ввожу текст в текстовое поле и нажимаю submit , он вызывает свой собственный контроллер и передает значение текстового поля, содержащего идентификатор, чтобы запросу linq было что использовать, чтобы он мог отобразить результат поиска.
Я имел смысл? :0 извините, я всего лишь новичок.
Комментарии:
1. вы можете использовать вызов ajax и загрузить частичное представление, чтобы заполнить свою сетку отфильтрованными данными…
2. вы можете быть более конкретными? возможно, пример помог бы.
Ответ №1:
Вы можете получить это значение текстового поля, используя коллекцию форм, например, ваше представление может выглядеть следующим образом
@model MvcMovie.Models.Movie
@{
ViewBag.Title = "Create";
}
@using (Html.BeginForm("controllerName","ActionName",FormMethod.Post))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Movie</legend>
<div class="editor-label">
@Html.TextBox("Name",null,New {id="Name"})
</div>
<div class="editor-label">
<input type="submit" value="save" />
</div>
</fieldset>
}
In controller,
[HttpPost]
Public ActionResult MethodName(FormCollection form)
{
string name = form["Name"];
// name contains your textbox value
}
Ответ №2:
database acces ?
query;
OleDbDataReader readername;
OleDbCommand commandname = new OleDbCommand("Select textBox1.Text=@" textBox1.Text " from tablename",connectionname);
connectionname.Open();
readername = commandname.ExecuteReader();
while (readername.Read()) //the result
{
label1.Text = readername[textbox1.Text].ToString();
}
connectionname.Close();
Комментарии:
1. Ответы, основанные только на коде, которые вполне могут быть работоспособным решением, обычно улучшаются некоторыми объяснениями. Пожалуйста, подумайте о том, чтобы прокомментировать или объяснить, как работает предложенный вами код.