私はASP.Net MVCで本当に奇妙な問題があります。Asp.Net MVC - 奇数フォーム/コントローラの問題
私は3つのテキスト値をcreate userというアクションメソッドにポストしているフォームを持っています(簡単に言うと、以下のようになります)。
public ActionResult CreateUser(string FirstName, string LastName, string Email)
{
var s = FirstName + LastName + Email;
return RedirectToAction("Index");
}
言っても、私のフォームは私のアクションメソッドで今すぐ
<% using (Html.BeginForm("CreateUser", "User"))
{ %>
<%=Html.TextBox(("FirstName")) %>
<%=Html.TextBox(("LastName")) %>
<%=Html.TextBox(("Email")) %>
<div><input type="submit" value="Submit" /></div>
<% } %>
で、ユーザーのコントローラ上で、値のFirstName、LastNameのと電子メールはすべてNULLであります!
しかし、別のコントローラ(ゲーム)に同じメソッドをコピーしてそこにポストするようにフォームを更新すると、メソッドの値はnullになりません!私はこの1つで完全に困惑しています。
両方のコントローラは同じです - 彼らは、同じ基本クラスを継承するなど、それらに適用され、同じ属性
EDITを持っている:それは(根本的な問題が何だったかわからない)働いて手に入れました。
ユーザーコントローラーのIndexメソッドにカスタム属性がありました(これは基本的にHttpContext.Current.User.Identity.Nameプロパティを解析し、メソッドに自動的に渡しました)。何らかの理由で、これはIndexメソッドで問題になりました。一度削除すると、意図したとおりにすべてが動作するようになりました!
これは前に私のインデックスの方法であった:
[Authorisation]
public Action Index(string userName){...}
と
public Action Index() {...}
奇妙です。 Firebugのポスト値を調べようとしましたか? – Damien