![](/img/trans.png)
[英]How do you return data from a view to controller in asp.net using foreign key relationship?
[英]How do i send data to asp.net controller so that it can return a view?
我想做的事情是如此简单,我仍在尝试使用c#和MVC应用程序学习ASP.NET,但是我很难获得一个简单的示例来进行学习,然后我可以从中成长,这是运作方式:我有一个简单的html5表单,方法是GET,类型是text,我基本上想将文本提交到我的mvc控制器中,一旦我的控制器得到它,我希望它通过HTML5输出该字符串“工作” , 我该怎么做呢?
摘要:字符串“工作”-> html表单-> c#控制器-> html(查看?)
这就是我的“视图”(Search.cshtml)
<form action="Home/Search" method="get">
<input type="text" name="q" />
<input type="submit" value="Search" />
好的,到目前为止,如果我输入“ worked”,除非添加更多代码,否则什么都不会发生,这是c#(HomeController.cs):
public ActionResult Search(string q)
{
return this.View(q?); // so what exactly is View(q)? what is view returning? }
好吧,这就是我感到困惑的地方,我的字符串会穿过并存储在“ q”中吗? 如果是这样,我该如何使用HTML5输出类似
<p> q </p> <!-- q = 'worked' -->
Search.cshtml
<form action="/Home/Search" method="get">
<input type="text" name="q" />
<input type="submit" value="Search" />
</form>
<p class='current-query'>@Model</p>
HomeController.cs
public ActionResult Search(string q)
{
return View((object)q); // return the model to the view (a string)
}
在您的控制器中,您正在错误地调用View(...)
方法。 View(...)
方法期望您传递的字符串参数是您要呈现的剃刀视图的路径。
使用ViewBag
是将q
变量从控制器传递到要呈现的视图的快速简便方法。
如果您有一个名为/Views/Search.cshtml的剃刀视图,则可以执行以下操作:
public class MyController : Controller
{
public ActionResult Search(string q)
{
ViewBag.Query = q;
return View("~/Views/Search.cshtml");
}
}
然后在/Views/Search.cshtml中像这样使用它:
<p>@ViewBag.Query</p>
如果您使用的是asp.net mvc,请按照以下这样的mvc模式进行..
视图
@using (@Html.BeginForm("Search","Home",FormMethod.Post))
{
<b>Name : </b>
@Html.TextBox("searchTerm", null, new { @id = "txtSearch" })
<input type="submit" value="Search" />
}
控制者
[HttpPost]
public ActionResult Search(string searchTerm)
{
return View(searchTerm);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.