13

asp.net mvc3で@html.actionlinkを使用してテキストから値を渡す方法は?

4

4 に答える 4

19

ここでの答えはどれも実際には機能しません。受け入れられた回答は、通常のアクションリンクのようにページを更新しません。残りは単にまったく機能しないか、述べられているように質問を放棄して、の使用をやめたいと思っていますActionLink

MVC3 / 4

メソッドのを使用して、htmlAttributes必要ActionLinkなことを実行できます。

Html.ActionLink("My Link Title", "MyAction", "MyController", null, new { onclick = "this.href += '&myRouteValueName=' + document.getElementById('myHtmlInputElementId').value;" })

MVC5

次のエラーが報告されていますが、確認していません。

潜在的に危険なRequest.Path値が検出されました

于 2017-02-22T00:25:03.223 に答える
5

@ Html.actionlinkを使用して値を渡すのではなく、jqueryを試してテキストボックスの値を次のようにコントローラーに渡します。

$(function () {
    $('form').submit(function () {
        $.ajax({
            url: this.action,
            type: this.method,
            data: { search: $('#textboxid').val()},
            success: function (result) {
                $('#mydiv').html(result);
            }
        });
        return false;
    });
});

このコードは、テキストボックスの値をコントローラーに送信し、div"mydiv"に読み込まれる出力結果を返します。

于 2012-08-17T03:46:19.070 に答える
5

クライアントからサーバーにデータを渡すには、htmlフォームを使用できます。

  @using (Html.BeginForm(actionName,controllerName)) {
    <input type="text" name="myText"/>
    <input type="submit" value="Check your value!">
}

コントローラのメソッド内でmyText変数をキャッチするようにしてください

于 2012-07-02T12:10:34.153 に答える
-4

このコードを使用できます(YourValue = TextBox.Text)

Html.ActionLink("Test", new { controller = "YourController", action = "YourAction", new { id = YourValue }, null );

public class YourController : Controller
{
        public ActionResult YourAction(int id)
        {
            return View("here your value", id);
        }
}
于 2012-07-02T11:55:37.677 に答える