4

私はモデルを持っています:

public class MyModel
...fields
[Remote(ActionName, ControllerName)]
public string SomeNumber { get; set; }
..fields

ControllerName コントローラーでアクションを実行します。

public JsonResult ActionName(string someNumber)
{...}

ただし、アクションが呼び出されると、パラメーター someNumber は常に null になります。そして、それをデバッグしようとすると、

GET /ControllerName/ActionName?MyModel.SomeNumber =34189736 

どうすればそれを機能させることができますか?(モデル全体の MyModel を渡すことはできず、ビュー内のフィールドの MyModel.SomeNumber 名を変更することはできません)

アップデート。私の見解での入力:

<input data-val="true" data-val-remote-additionalfields="*.SomeNumber" data-val-remote-url="/ControllerName/ActionName" id="MyModel_SomeNumber" name="MyModel.SomeNumber" type="text" value="34189734" class="valid">

UPD解決!:) 単一のフィールド SomeNumber で新しいモデルを作成し、プレフィックスを使用します。

SomeNumber([Bind(Prefix = "MyModel")]MySingleFieldModel model)
4

3 に答える 3

2

モデルをパラメーターとして使用してみてください。値をバインドできるようにします。

public JsonResult ActionName(MyModel model)
{
    //...
    model.SomeNumber;
    //...

   return Json(validationResult, JsonRequestBehavior.AllowGet)
}
于 2013-02-14T10:32:37.383 に答える
0
public JsonResult ActionName(string SomeNumber)
{...}

入力パラメーターの大文字と小文字を一致させる必要があると思います。

于 2013-02-14T10:23:33.917 に答える