FormulaData
オブジェクトを処理した後にResultObjekt
を返すMVCアプリケーションがあります。それは辞書にポストパラメータを渡すMVC
[HttpPost]
[ActionName("GetResult")]
public ResultObjekt GetResult([FromBody]FormularData values)
{
}
質問HTTPポスト経由で呼ばれる残りのAPIです:Dictionary<string, string>
またはIEnumerable<KeyValuePair<string, string>>
にvalues
からすべてのプロパティを読み取るする方法はありますか?
public class FormularData
{
public string Item1 { get; set; }
public string Item2 { get; set; }
}
は、私の以前のソリューションではなくHttpPost
のQuerystring
とHttpGet
で働いていたと私は変更するので、Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value)
はもう動作しない値{ {"Item1","Value1"}, {"Item2","Value2"}}
とDictionary<string,string>()
またはIEnumerable<KeyValuePair<string, string>>
になるはずです。ここで
私の現在のさ - いないので、かなり解決策:
[HttpPost]
[ActionName("GetResult")]
public ResultObjekt GetResult([FromBody]FormularData values)
{
List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>();
if (!string.IsNullOrEmpty(values.Item1))
{
list.Add(new KeyValuePair<string, string>("Item1", values.Item1));
}
if (!string.IsNullOrEmpty(values.Item2))
{
list.Add(new KeyValuePair<string, string>("Item2", values.Item2));
}
IEnumerable<KeyValuePair<string, string>> result = list.AsEnumerable();
}
あなただけの 'values'を定義することができませんでしたparamをあなたのFormularDataクラスにバインドする必要がないかぎり、 'IDictionary'としてください。 –
Corporalis
@Toshi、 'ResultObjekt GetResult([FromBody] Dictionary values)'でも動かなければならない –
Nkosi
@Corporalisは両方を使うことはできませんか? FormularDataクラスとDictionary? – Toshi