我有一个asp文本框控件,通过javascript禁用。如何使用C#检查文本框是否已启用/禁用?
答案 0 :(得分:0)
HTML上的文本框在服务器端无法直接使用。 它通常输入类型=' text'这是html上FORM的一部分。 当表单被提交并且输入名称(您的文本框)被发送到服务器并在那里获得您的价值。
服务器只发送HTML,如果客户端上有一些禁用文本框的javascript逻辑(将其设置为readonly,我假设)你需要在服务器上使用相同的逻辑并在文本框被禁用时得出结论。
答案 1 :(得分:0)
由于您已使用js在客户端禁用了文本框,因此无法在服务器端进行检查。 asp文本框在html中呈现为输入类型=文本。它不再是asp服务器控件。所以唯一的方法是再次通过js。
答案 2 :(得分:0)
无论你在JavaScript上做什么都发生在代码的客户端(例如浏览器),而不是在ASP文件所在的服务器端。这就是为什么服务器不知道你通过任何客户端脚本做什么。
正如其他人已经提到过的服务器只是sens HTML,在你的情况下也包含一些Javascript代码。然而,它是纯文本。因此,在您将HTML发送回客户端的那一刻,服务器就完成了,并期待新的请求。
因此,您唯一能做的就是通过表单上的隐藏字段发送包含文本框启用状态的新请求。因此,每当您向服务器发送请求时,您也会发送字段值。
答案 3 :(得分:0)
浏览器不提交已停用的输入。
检查link:
.. INPUT元素被禁用。因此,它不能 接收用户输入,也不会将其值与表格一起提交。
如果您有这样的表格,例如:
<form method="POST" action ="Home/login">
<input type="text" id="inputUserName" name="inputUserName">
<input type="password" id="inputPassword" disabled name="inputPassword">
<button type="submit">Login</button>
</form>
在您的服务器端,您将收到inputUserName ,但您将无法接收 inputPassword,因为它已被禁用