ASP.NET MVC TryUpdateModel 时的一个怪现象,求围观,求解释

一个编辑页面的post controller函数如下

public ActionResult Edit(int id, FormCollection collection)
        {
            Asset a = db.Asset.Find(id);
            TryUpdateModel(a, "",null, new string[] { "CompanyId" });

             if (ModelState.IsValid)
            {

。。。 这段代码对asset对象进行赋值,接下来如果成功则保存。我在开发机器上运行正常,但在部署服务器上,isValid总是false,调测发现,collection在部署服务器上 key里面有一个 “” 空字符串,这样在tryupdatemodel里面就报错了。

可是用fiddler察看post数据,里面都是标准的 xxx=yyy&....,不明白为什么会冒出这个空字符串的key来。

开发环境和部署环境的区别在于,开发是WIN7而部署的服务器是WIN2003

慕码人2483693
浏览 456回答 1
1回答

明月笑刀无情

collection.Remove("");TryUpdateModel(a, "", null, new string[] { "CompanyId" }, collection);
打开App,查看更多内容
随时随地看视频慕课网APP