1

コントローラーに同じ名前の 2 つのメソッドを設定したいのですが、唯一の違いは、1 つのパラメーターが T のパラメーターを受け取り、もう 1 つのパラメーターが List のパラメーターを受け取ることです。

[HttpPost]
public ActionResult Edit(myType parameter)
{ 
    //snip
}

[HttpPost]
public ActionResult Edit(List<myType> parameter)
{ 
    //snip
}

フレームワークが例外をスローしているので、これは不可能だと思います。

コントローラ タイプ 'MyController' に対するアクション 'Edit' の現在のリクエストは、次のアクション メソッド間であいまいです:

これらのメソッドを jQuery ajax 呼び出しから呼び出しています。ここで、データは T または T の配列である可能性があります。

$.ajax({
    url: url,
    type: "POST",
    contentType: "application/json, charset=utf-8",
    dataType: "json",
    data: JSON.stringify({ parameter: data }),
    success: function () {
        //success
    },
    error: function (e) {
        //error
    }
});
4

4 に答える 4

0
[HttpPost, ActionName("EditType1")]
public ActionResult Edit(myType parameter)
{ 
    //snip
}

[HttpPost, ActionName("EditType2")]
public ActionResult Edit(List<myType> parameter)
{ 
    //snip
}

ビューから、

/controllername/edittype1

/controllername/edittype2
于 2012-07-20T16:08:44.360 に答える