为什么asp.net文本框在编辑时丢失了jquery?

时间:2015-12-15 12:59:00

标签: javascript c# jquery asp.net gridview

我在文本框上放了jquery蒙版。

jQuery(function ($) {
     $("#txtBoxLawyerCNIC").mask("99999-9999999-9", { placeholder: "" });
     $("#txtBoxLawyerContactNo").mask("+99-999-9999999", { placeholder: "" });
});


 <asp:TextBox runat="server" ID="txtBoxLawyerCNIC" placeholder="XXXXX-XXXXXXX-X" MaxLength="15" ClientIDMode="Static" CssClass="form-control">
 </asp:TextBox>

直到我点击gridview中的edit按钮调用RowCommand并且文本框丢失了所有屏蔽,它才有效。为什么?

protected void grdviewLawyers_RowCommand(object sender, GridViewCommandEventArgs e)
{
    try
    {
        int LawyerID = Convert.ToInt32(grdviewLawyers.DataKeys[Convert.ToInt32(e.CommandArgument)].Value);
        short UserID = Convert.ToInt16(Session["UserID"]);

        if (e.CommandName == "cmdEdit")
        {

            DataTable dt = MngLawyers.SelectLawyersByLawyerID(LawyerID);
            DataRow r = dt.Rows[0];


            txtBoxLawyerCNIC.Text = r["LawyerCNICNo"].ToString();
            txtBoxLawyerContactNo.Text = r["LawyerContactNo"].ToString();

        }
}

为什么它会在RowCommand上丢失掩码?

1 个答案:

答案 0 :(得分:0)

对我来说,很久以前我使用的是ASP.NET网络表单,但我记得我编译器翻译了asp标签的id被重命名。在大多数情况下,它只是页面的名称加上您在asp-tag中给出的名称。我不能100%肯定我所说的最后一件事是正确的。实际上,您可以检查浏览器中的元素以获取新名称。

您可以通过左键单击文本blok并选择检查或按 ctrl + shift + 我。如果你在这种情况下可以看到一个html输入标签,我已经为文本区域做了那个从Stack Overflow做出新答案。

在开发人员工具窗口中,您可以看到该元素的新ID,您必须在客户端代码中使用它。