asp.net实现一个简单的限制编辑用户名密码的功能。结果出问题了,求大侠指教!
aspx页面:
JS:
function EditLoginDetails(enable) {
$.ajax({
type: 'post',
url: "EmployeeManage.aspx",
data: { name: "editLogin", value: enable }
});
}
HTML:
<input type="checkbox" id="cb_EnableEditEmpLoginDetails_clicent" value="Update login details" onchange="javascript:EditLoginDetails(this.checked )" />
后台cs代码:
if (Request.Form["name"].ToUpper() == "editLogin".ToUpper())
{
if (Request.Form["value"].ToString().ToUpper() == "true".ToUpper())
{
txt_EmpPwd.Enabled = true;
txt_EmpUserName.Enabled = true;
txt_EmpConfirmPwd.Enabled = true;
}
else
{
txt_EmpPwd.Enabled = false;
txt_EmpUserName.Enabled = false;
txt_EmpConfirmPwd.Enabled = false;
}
}
调试跟进来看,禁用和启用的代码执行了,而且其他地方的代码没有再对其Enabled赋值。但是页面上没效果!
直接在js中控制,代码如下(我是按照三个text标签写的,如果是其他标签,那设置不可用的语句可能要变动,随机应变吧):
function EditLoginDetails(enable) {
if(enable == true){
$("#txt_EmpPwd").attr("disabled",true);
$("#txt_EmpUserName").attr("disabled",true);
$("#txt_EmpConfirmPwd").attr("disabled",true);
} else{
$("#txt_EmpPwd").attr("disabled",false);
$("#txt_EmpUserName").attr("disabled",false);
$("#txt_EmpConfirmPwd").attr("disabled",false);
}
}
你后台设置,要刷新页面才行,你的ajax 么有刷新,刷新页面了,就重新生成html 了,会保存服务器控件值。
建议 直接 js 设置 可不可用
直接用js肯定可以呀 ·帮写 个噻·~
目的是无刷新实现这个功能
单独建立一个页面用来处理ajax请求,再根据返回值判断是否要Enabled
独立页面怎么处理EmployeeManage.aspx的控件··目的是无刷新实现这个功能
@其小本: 单独建立一个页面用来处理ajax请求,再根据返回值判断是否要用js Enabled掉相应控件
if (Request.Form["name"].ToUpper() == "editLogin".ToUpper())
{
if (Request.Form["value"].ToString().ToUpper() == "true".ToUpper())
{
txt_EmpPwd.Enabled = true;
txt_EmpUserName.Enabled = true;
txt_EmpConfirmPwd.Enabled = true;
}
else
{
txt_EmpPwd.Enabled = false;
txt_EmpUserName.Enabled = false;
txt_EmpConfirmPwd.Enabled = false;
}
} 这段代码写在什么方法里了??? cs文件的 load执行完以后开始执行页面的js有先有后
Page_Load里了
你那些服务器端的控件根本访问不到,你怎么控制呢,这个问题还是前台控制好了,如果需要持久化的显示,你需要记录一些信息。
当你ajax请求页面时,实际上建立的页面的另一个实例,根本控制不了你这个当前页面。
ajax请求服务端,服务端应该返回标识,js拿到这个标识再修改页面。