我的某个页面遇到问题。我在页面上有一个FormView控件,用于在数据库表中输入新行,在同一页面上有一个GridView控件,用于更新/删除同一数据库表中的行。
FormView控件上有验证器来验证在数据库中抛出的任何输入,当我尝试编辑行时,它似乎会干扰GridView。当我尝试保存编辑时,FormView上的验证控件被触发并出现错误,因为文本框输入为空,因此GridView无法保存修改后的表数据。
也许一个明显的例子会有所帮助:
我有一个想法,我以不同的形式包含这些控件,希望一个表单的提交不会触发另一个表单但是我得到一个错误,说我在页面上不能有多个表单使用runat="server"
,据我所知,这是必需的。
我怎样才能解决这个问题?
感谢。
答案 0 :(得分:1)
您只能有一个Form
。
对ValidationGroups
和FormView
使用不同的GridView
。
http://msdn.microsoft.com/en-us/library/ms227424(v=vs.100).aspx
答案 1 :(得分:0)
是的,这是webforms的已知限制(功能?)。您只能拥有一个带有runat="server"
标记的表单。
在您的方案中,您可以使用ValidationGroup
名称将验证组合在一起,这样只有在触发相同验证的控件时才执行“like”验证。
答案 2 :(得分:0)
我做的是我将两个表单编码为回发到页面并解析了Page.Load中的回发变量。奇怪的?是。作品?是。