我正在使用c#/ aspx / jquery开发webforms项目。我不确定在哪里处理Onclick
。这两个选项(在C#或jquery中执行)似乎都是可行的。哪种做法更好?
以下是该方案:
我想构建一个checkbox
来切换textbox's textmode
,在密码和SingleLine之间进行更改。
目前,我有以下代码用于我的标记,因为我目前正在C#中处理它:
<asp:Checkbox ID="CheckBox1" OnCheckedChanged="CheckBox1_OnCheckedChanged"/>
代码:
protected virtual void OnCheckedChange(EventArgs e)
{
If (CheckBox1.TextMode == TextMode.Password)
CheckBox1.TextMode = TextMode.SingleLine;
else
CheckBox1.TextMode = TextMode.Password;
}
用例是:用户输入密码。在同一页面上,他可以通过选中复选框来选择隐藏或不隐藏密码。
答案 0 :(得分:2)
哪种方法更好?
您的功能要求是什么?
现在,您需要评估所需的工作与所需的质量。 (如果你想要一个很好的用户体验并且可以编写JS把它放在JS中,如果你时间紧张并且可以刷新,那么在asp.net上做吧)。
我试图回答一般意义上的问题:如何做出这样的决定(以我的拙见)。 现实这很容易实现在javascript中你应该在那里做。
现在代码(我假设您知道如何将它放在asp.net代码中,所以我将编写JS方法):
HTML:
My Password: <input type="password" id="mytext" /> <br />
Hide Chars : <input id="passChk" type="checkbox" checked="true" />
使用Javascript:
$(function() {
$("#passChk").change(function(){
if(this.checked) {
$("#mytext").attr("type","password");
} else {
$("#mytext").attr("type","text");
}
});
});
看到它在这里运行:http://jsfiddle.net/rC5NW/2/
答案 1 :(得分:0)
在尝试实施已接受的答案后,我意识到某些浏览器(我使用的是Google Chrome)不允许更改type属性。有一种方法可以绕过这一点,但我不认为这对我的目的是值得的:
因此,最好只使用C#。
相关问题