我有一个对服务器进行 ajax 调用(使用 jQuery)的主网页(“基本页面”)。服务器端页面(“Ajax 页面”)是一个 ASP.NET Web 表单(此处未使用 MVC)。因为(在这种情况下)我使用 GridView 在 ajax 响应中呈现数据,所以我必须包含 <form runat="server"> 标记。
我的抱怨是——当基本页面收到 AJAX 响应时,它会将其插入 DOM,但由于 AJAX 响应由包含 <form> 标记的 HTML 标记组成,这有时会导致嵌套的 html 表单,即坏的。
我意识到我可以使用 jquery 仅将响应的片段插入到基本页面 DOM 中——或者我可以使用 jquery 随后去除有问题的 <form> 标记。但这些感觉就像是笨拙的变通办法。真的没有办法阻止 ASP.NET 页面使用 <form> 标记提供响应吗?我意识到表单标签是 ASP.NET 网络表单模型的核心,但它确实使在 ASP.NET 中使用 AJAX 成为一件复杂的事情——非常容易逆流而上。微软肯定已经意识到回发/服务器端模型已成为过去?
我还意识到 Microsoft 有一些服务器端 AJAX 库可能会解决这个问题——但我仍然想知道是否有 ASP.NET 网络表单的本地解决方案。
有什么建议么?