当img的src为空,或者不是合法路径的时候,会连续调用MVC的action两次,第二次所传的值为src的值,这常常会导致程序报错。
这不是MVC的issue,而是浏览器的行为,当response form有unclosed的div tag或者img 的src为空的时候,浏览器会认为form没有被合适的加载,并会主动的再次调用action。
目前的项目要求img的src是一个url,所以采用的策略是 用户输入的img url 必须以 http:// 或者 https:// 开头;在Model 中属性加上标签:[RegularExpression(@”(http|https):\/\/([\w.]+\/?)\S*”)] 就能解决目前的需求。
参考: http://skonakanchi.blogspot.com/2011/09/action-method-calling-twice-in-aspnet.html