
[英]TryUpdateModel Not Working with Prefix and IncludeProperties
[英]TryUpdateModel not working with Dictionary<Enum,string>
假设这些类\\枚举:
public enum Test
{
MyTest1 = 0,
MyTest2,
MyTest3,
}
public class Model
{
public Dictionary<Test, string> TestDictionary { get; set; }
public Dictionary<string, string> StringDictionary { get; set; }
public string Other { get; set; }
public Model()
{
TestDictionary = new Dictionary<Test, string>();
StringDictionary = new Dictionary<string, string>();
}
}
这种形式:
<form action="/Home/Test" method="post">
<input type="hidden" name="Model.TestDictionary[MyTest1]" value="myval" />
<input type="hidden" name="Model.StringDictionary[mykey]" value="myval" />
<input type="hidden" name="Model.StringDictionary[mykey2]" value="myval2" />
<input type="hidden" name="Model.Other" value="works" />
<button type="submit">Submit</button>
</form>
而这个动作:
public ActionResult Test(FormCollection formCollection)
{
Model model = new Model();
TryUpdateModel(model, "Model");
return Redirect("Index");
}
Model.StringDictionary
获取的更新成功。
我无法获取Model.TestDictionary
进行更新。
我尝试了许多方法,例如将输入名称更改为Test.MyTest1
但无法使其正常工作。
我要如何填充Model.TestDictionary
输入看起来像id?
我发现了一个可行的丑陋解决方法:
<input type="hidden" name="Model.TestDictionary[0].Key" value="MyTest1" />
<input type="hidden" name="Model.TestDictionary[0].Value" value="myval" />
无论如何,如果有人发现更好的东西,那就很高兴看到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.