【问题标题】:Why asp.net textboxes loses jquery upon editing?为什么 asp.net 文本框在编辑时会丢失 jquery?
【发布时间】:2015-12-15 12:59:00
【问题描述】:

我在我的文本框上放置了 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 上丢失掩码?

【问题讨论】:

  • gridview 是在更新面板还是类似的东西?
  • 如果 grdviewLawyers_RowCommand 被调用,那么一个 HTTP 请求已经被发出。这将刷新页面。您需要确保在回发之后调用设置掩码的 JS。
  • @Richard 无法从服务器端调用它
  • 更新面板中的任何标记都需要重新附加 jQuery 处理程序。您可以在加载完成后使用 pagerequestmanager 访问事件以重新附加。
  • 先生,我很天真,不懂这个,请帮助语法等

标签: javascript c# jquery asp.net gridview


【解决方案1】:

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

您可以通过左键单击文本块并选择 Inspect 或按 ctrl + shift + 。如果您在这种情况下可以看到一个 html 输入标签,我已经为文本区域完成了该操作,以便从 Stack Overflow 做出新的答案。

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

【讨论】:

  • @Juventustech:不,对不起。很久以前我已经编写了 ASP Web 表单。其次,我也是编程的大三学生,所以我没有足够的经验来找到一个好的解决方案来帮助你,先生。
猜你喜欢
  • 2016-04-16
  • 2011-11-22
  • 1970-01-01
  • 2017-09-13
  • 2019-07-22
  • 2013-05-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
相关资源
最近更新 更多