0

テキストボックスとボタンがあり、ボタンをクリックすると、コントローラーからアクションを呼び出し、テキストボックスの値をパラメーターとして渡したいと思います。では、どうすればそれを行うことができますか?

4

2 に答える 2

0

これは、JavaScript を介して行う必要があります。その標準または jQuery の可能性が高いです。

SO には、このタイプの機能の例がたくさんあります。$ajax と mvc テキスト ボックスの値を検索してください。

例:

$(function () {
    var txtBoxValue = $('#yourTextboxId').val();
    $.ajax({
      url: '@Url.Action("Youraction", "Yourcontroller")',
      data: { id: txtBoxValue },
      success: function(data) {
        $('.result').html(data);
        alert('Load was performed.');
      }
    });    
});

[編集] - ユースケース (指定しない) に応じて、もちろんテキストボックスをフォームタグ内にラップし、「通常の」方法で送信するだけで、テキストボックスの「名前」と「値」をキャプチャできますアクションのフォームコレクション内。

于 2012-08-08T11:38:59.297 に答える
0

正確に何をしたいかによって異なりますが、通常の場合、ビューを (モデルに対して) 強く型付けし、ビューでフォームを使用することをお勧めします。これを行う方法を示す例を次に示します (ビューから AddPerson メソッドを呼び出します)。

ビュー「AddPerson」

@model MvcApplication.Models.Person
//You can pass in the actionName and the controllerName as parameters to the method BeginForm()
@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <div class="editor-label">
        @Html.LabelFor(model => model.FirstName)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.FirstName)
        @Html.ValidationMessageFor(model => model.FirstName)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.LastName)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.LastName)
        @Html.ValidationMessageFor(model => model.LastName)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>
}

"Person" コントローラーでのアクション

[HttpPost]
public ActionResult AddPerson(Person person)
{
    // The code
    return View("OperationEndWithSuccess");
}
于 2012-08-09T12:45:52.970 に答える