我得到这样的结构:
<asp:TextBox runat="server" ID="txt"/>
<input runat="server" id="btn" onserverclick="btn_Click" type="image" src="demo.png"/>
当我在文本框中输入内容并按Enter键时,可以调用方法btn_Click。但是当禁用javascript时,它无法回发并且无法调用btn_Click方法。
这有什么问题?
任何帮助,谢谢。
答案 0 :(得分:2)
大多数ASP.NET服务器端控件使用JavaScript发布围绕整个页面内容的form
标记(在源文件中查找<form runat="server">
标记,或{{1}在浏览器的HTML源代码中。)
实际上,这种行为在WebForms中非常紧密,对整个页面使用1 <form name="aspnetForm">
标记,并为ViewState,事件目标,命令参数等隐藏输入。
如果您需要没有JavaScript的功能,那么您需要一种简单依赖HTTP协议的回归基础方法,只需使用form
和GET
个请求与您自己的POST
标签(不能嵌套)和常规form
标签。
老实说,如果您需要没有JavaScript的功能,切换到ASP.NET MVC可能会更容易。