0

我有一个中继器,在中继器内部我有一个文本框和按钮(一起在 ASCX 中)。文本框预先填充了提示文本,该文本在焦点上被清除。

我的问题是,如果用户填写了一个文本框,并且用户单击了提交按钮,则提示文本将在其他控件中提交。

我尝试进行自定义验证,但验证器尝试验证中继器内的所有控件,并且其他控件仍然包含提示文本,如果它没有被触及的话。

由于这是 ASCX,因此我不想使用会迫使我更改托管控件的页面的 ItemDataBound 事件的代码的服务器端解决方案。

我仍然可以将任何客户端解决方案或服务器端解决方案封装在我的 ASCX 中吗?

4

1 回答 1

0

如果您使用公共属性将数据从 ASCX 传递到父页面进行处理,您可以考虑那里的幻影文本......

public property TextValue
{
    get
    {
        if (Textbox.Text != "Ghost Text")
        {
            return Textbox.Text;
        }
    }
}

对于客户端,您可以绑定到按钮的单击事件并清除文本,如果它与幻影文本值匹配...

$(function() {
    $('#btnSubmit').click(function() {
        var txt = $(this).siblings('txtValue');
        if (txt.val() == 'Please Enter Your Name')
           txt.val('');
    });
})

您可以使用 ScriptManager 从您的 ASCX 注册脚本。

于 2012-08-01T20:23:50.070 回答