如何将文本框从视图一次又一次地传递给它自己的控制器?

时间:2014-07-03 10:02:33

标签: c# asp.net asp.net-mvc linq textbox

我尝试做的是将此特定视图的文本框的值传递给它自己的控制器。

视图只有一个文本框,即id的文本框,然后控制器有linq查询,搜索与该id匹配的数据库。

因此,当我运行程序时,首先会显示空的gridview和空文本框。我想要做的是当我在文本框中输入文本并按下提交时,它将调用它自己的控制器并传递包含id的文本框的值,以便linq查询将有一些东西可以使用它可以显示搜索结果。

我有道理吗? :0抱歉,我只是一个初学者。

2 个答案:

答案 0 :(得分:1)

您可以使用表单集合获取该文本框值。对于Ex,您的视图可能如下所示

@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
}

答案 1 :(得分:0)

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();