一个ASP.NET页面上有两个表单
在ASP.NET页面中,出现了一个问题,即在同一页上有两个表单。根据HTML标准,不能嵌套表单。如果这样做,大多数浏览器会忽略内部表单。因此,需要找到解决方法。
解决方法是在主页上创建一个额外的asp:Content,将次要表单放在其中。可以通过主页上的asp:ContentPlaceHolder级联到基本主页上:
需要注意的是,次要表单应该位于任何form标签的外部,否则渲染的HTML将包含嵌套的form标签,这正是我们要避免的问题。
但是,如果在子级主页中创建了另一个asp.net contentplaceholder,那么我需要确保这个contentplaceholder不在父级主页的form标签内?还是可以将其放在父级主页的form标签内,然后在子级主页中添加一个form,它仍然可以工作?
答案是,contentplaceholder需要位于form标签的外部,否则渲染的HTML将包含嵌套的form标签,这正是我们要避免的问题。
但是,如果页面的结构是基本主页有一个form,然后是一个ContentPlaceHolder,子级主页通过放置自己的内容来覆盖这个ContentPlaceHolder。我将我的表单放在被子级主页覆盖的ContentPlaceHolder中。
因此,需要创建一个级联的contentplaceholder,以便在子级主页中使用。请参考上述代码,我已经编辑了我的答案并提供了详细的说明。