私はmvc 3が初めてです。ビューとコントローラーを作成しようとしています。私のシナリオは、2 つのアクションを持つコントローラーがあることです。コントローラー内で最初のアクションを呼び出す間、表示するデフォルト値をロードする必要があります。ビュー内には、値をポストバックするためのボタンがあります。そのため、ビュー内のボタンの 1 つをクリックすると、同じコントローラーで 2 番目のアクションに移動し、成功または失敗のメッセージで同じビューに戻る必要があります。
私の見解はこんな感じです
@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」のようなエラーが表示されます。
ここでの解決策は何ですか?同じコントローラーだけでなく、同じフォーム内の他のコントローラーにも移動して、同じビューに戻ることを期待しています。