2013-04-01 19 views
5

コントローラにHTMLテキストボックス値を取得したいとします。以下は、私の見解コードであるコントローラのHTMLコントロール値を取得する

@using (Html.BeginForm("SaveValues", "TestGrid",FormMethod.Post)) 
{ 
<table> 
<tr> 
    <td>Customer Name</td> 
    <td> 
     <input id="txtClientName" type="text" /> 
    </td> 
    <td>Address</td> 
    <td> 
     <input id="txtAddress" type="text" /></td> 
    <td> 
     <input id="btnSubmit" type="submit" value="Submit" /></td> 
    </tr> 
</table>} 

[HttpPost] 
    public ActionResult SaveValues(FormCollection collection) 
    { 
     string name = collection.Get("txtClientName"); 
     string address = collection.Get("txtAddress"); 
     return View(); 
    } 

は私が

答えて

7

のようなあなたの入力フィールドにname属性を追加し、null値を取得しています値を取得するには、以下の私のコントローラのコードを確認してください:

<input id="txtClientName" name="txtClientName" type="text" /> 
0

I Asp.net MVC Html.BeginFormは、シリアライズするためにhtml要素のname属性を使用します。

Request.Form["controlID"] 
0

のname属性を入力する必要があり。

1

をFormコレクションを介してコントローラにHTMLコントロールの値を取得するには、あなたのHTMLコントロールに 「name」属性を追加する必要があります。そして、あなたはこれを試してみてくださいhtml要素

4

あなたは

@using (Html.BeginForm()) 
{ 
//Controls... 
} 

内のビューにすべてのコントロールを宣言した場合はASP.NET(Webページ、MVC、RAZOR)は、クライアントとサーバの間の相互作用のためのベースとしてHTTPプロトコルを使用しています。また、HTTPをクライアント側の値をサーバー側に渡すには、すべてのHTML要素にname属性が定義されている必要があります。 HTML要素のid属性は、フロントエンドで使用するためのものです。 (CSS、JavaScript、JQueryなど)。実際の例については、以下のコード行を参照してください。

<input type="text" name="zzzz" id="xxxx"/> 

コントローラでは、FormCollectionオブジェクトを使用してコントロールにアクセスできます。これには、name属性で記述されたすべてのコントロールが含まれます。

// 
// POST: 
[HttpPost] 
public ActionResult CreatePortal(FormCollection formCollection) 
{ 
    // You can access your controls' values as the line below. 
    string txtValue = formCollection["zzzz"]; 

    //Here is you code... 
} 
+0

あなたは私の人生を保存しました))) –

関連する問題