我是 mvc 3 的新手。我正在尝试创建一个视图和控制器。我的情况是我有控制器,它有两个动作。当我在控制器内调用第一个操作时,我必须加载默认值才能查看。内部视图我有一个按钮来回发值。因此,当单击视图内的按钮之一时,它必须在同一控制器中执行第二个操作,并且必须返回同一视图并显示成功或失败消息。
我的看法是这样的
@using (Html.BeginForm())
{
<table>
<tr>
<td>
@Html.TextBox("txtTitle")
</td>
<td>
<input type="button" value="Go Somewhere Else" onclick="location.href='@Url.Action("Postback", "Default1")'" />
</td>
</tr>
</table>
}
我的控制器,
public class Default1Controller : Controller
{
//
// GET: /Default1/
public ActionResult Index()
{
// has to default load value to text box
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Postback(FormCollection obj)
{
// has to take value from txt box
object obj1 = Request["txtTitle"];
return View("Index");
}
}
如果从任何其他视图调用 Postback 操作,我的问题是有效的。但是如果我点击按钮,在相同的视图中,错误会显示为“http://localhost:14953/Default1/Postback”。
这里有什么解决方案?我希望导航到同一个控制器以及同一个表单内的其他控制器并返回到同一个视图。