我有一个转发器,在转发器内部我有一个文本框和按钮(在ASCX中一起)。文本框预先填充了提示文本,该文本在焦点时清除。
我的问题是,如果用户填写了一个文本框,并且用户单击了提交按钮,则提示文本将在其他控件中提交。
我尝试进行自定义验证,但验证程序尝试验证转发器内的所有控件,而其他控件仍包含提示文本(如果未触及)。
由于这是ASCX,我不想使用服务器端解决方案,这将迫使我更改托管控件的页面的ItemDataBound事件的代码。
是否有任何客户端解决方案或服务器端解决方案仍然可以封装在我的ASCX中?
答案 0 :(得分:0)
如果您使用公共属性将数据从ASCX传递到父页面进行处理,您可以在那里考虑鬼文本...
public property TextValue
{
get
{
if (Textbox.Text != "Ghost Text")
{
return Textbox.Text;
}
}
}
对于客户端,您可以绑定到按钮的click事件,并清除与ghost文本值匹配的文本...
$(function() {
$('#btnSubmit').click(function() {
var txt = $(this).siblings('txtValue');
if (txt.val() == 'Please Enter Your Name')
txt.val('');
});
})
您可以使用ScriptManager从ASCX注册脚本。