public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var key = new Dictionary<string, object>();
key.Add("CPLID", new object());
key.Add("EqID", new object());
key.Add("Shift", new object());
key.Add("DateTime", new object());
key.Add("UpdateDateTime", new object());
key.Add("No", new object());
key.Add("LineStop.Remark", new object());
key.Add("IsRemark", new object());
key.Add("DispatchID", new object());
key.Add("CopperID", new object());
key.Add("CopperLV", new object());
key.Add("InThickness", new object());
key.Add("InWidth", new object());
key.Add("OutWidth", new object());
key.Add("OutLength", new object());
key.Add("OutPiece", new object());
key.Add("WeldingNum", new object());
key.Add("GuideNum", new object());
key.Add("Supply", new object());
key.Add("Produce", new object());
key.Add("ReturnMaterial", new object());
key.Add("StartTime", new object());
key.Add("EndTime", new object());
key.Add("PrelineNum", new object());
key.Add("SelflineNum", new object());
key.Add("ProcessModeNum", new object());
key.Add("ProcessResultNum", new object());
key.Add("ProcessMode[0].CopperID", new object());
key.Add("ProcessMode[0].Mode", new object());
key.Add("ProcessMode[1].CopperID", new object());
key.Add("ProcessMode[1].Mode", new object());
key.Add("ProcessMode[2].CopperID", new object());
key.Add("ProcessMode[2].Mode", new object());
key.Add("ProcessMode[3].CopperID", new object());
key.Add("ProcessMode[3].Mode", new object());
//key.Add("ProcessMode[4].CopperID", new object());
//key.Add("ProcessMode[4].Mode", new object());
DictionaryValueProvider<object> ob = new DictionaryValueProvider<object>(key, CultureInfo.CurrentCulture);
Assert.IsTrue(ob.ContainsPrefix("ProcessMode"));
}
}
上記のサンプル テスト コードを MVC3 で実行すると動作します。ただし、「ContainsPrefix」メソッドは MVC3 では問題ありませんが、MVC4 では正しく動作しません。
そして、さらにアイテムを追加しようとすると。ProcessMode[4].CopperID
and (remove comment).. MVC4
ProcessMode[4].Mode
で正しく動作します。
とても奇妙だと思います,</p>
この問題により、「JSON コンテンツを含む ajax を投稿してください」というエラーが発生することがあり、エラーが発生DefaultModelBinder
したデータが生成されます。
ContainsPrefix
MVC3とMVC4で方法が違うのですか?
12/7更新
http://forums.asp.net/t/1856357.aspx/1?FormValueProvider+skips+form+values
同じ質問ですが、MVC4 を使用できません
「バイナリ検索」でプレフィックス文字列を検索します
「。」を作ります および '[' は一致をスキップします