7

コントローラーで 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();
    }

null 値を取得しています

4

5 に答える 5

7

ビュー内のすべてのコントロールを宣言すると、

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

ASP.NET (WebPages、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...
}
于 2015-05-14T17:01:21.410 に答える
1

フォーム コレクションを介してコントローラで HTML コントロール値を取得するには、HTML コントロールに「name」属性を追加する必要があります。

于 2014-02-10T12:40:36.920 に答える
0

I Asp.net MVC Html.BeginForm は、シリアル化のために html 要素の name 属性を使用します。次に、html 要素の name 属性を入力する必要があります。

于 2013-04-01T08:22:39.740 に答える
0

これを試して:

Request.Form["controlID"]
于 2014-02-10T12:16:36.777 に答える