0

I am trying to get username value from my view in my controller but i am getting a null:

Here is my View:

<form action="Home/Save" method=post >

Name: @Html.TextBox("Name") `

Here is my modified controller:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

        return View();
    }
    [HttpPost]
    public ActionResult Save()
    {
        ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

        return View();
    }

I would like to change this code so i can capture the textbox value in my Save action.

Please let me know if i am missing something. Thanks

4

4 に答える 4

0

エディターテンプレートにはhtmlレイアウトコードのみが含まれていると思います。その場合、値が得られないのは、HTMLコントロールをフォームに配置していないためです。

コントローラーが値を取得するには、次のようなフォームを介して値を投稿する必要があります。

@using(Html.BeginForm("Submit")){
    EmpNo:
    @Html.EditorFor(model => model.userName)
    <br/>
    Password:
    @Html.EditorFor(model => model.pwd)
    <br/>
    <input type=submit id=sbmt value=save />   
}

私の構文は、MVC 3でRazorテンプレートを使用している場合にのみ機能することに注意してください。また、サーバー側の制御は実際にはasp.net Webフォーム用であり、MVCでは使用しないようにしてください。パネルを表示および非表示にするには、JavaScriptコードである必要があります。

于 2012-12-10T10:52:08.807 に答える
0

ビュー コントロールを Form 内に配置しようとしましたか?

http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx

ここに画像の説明を入力
(ソース: scottgu.com )

于 2012-12-10T10:41:11.487 に答える
0

私はこの例を参照しましたが、それは私を助けました:

http://www.dotnetcurry.com/ShowArticle.aspx?ID=705

ジャックと vTortala のサポートに感謝します。

于 2012-12-10T12:26:40.683 に答える