【问题标题】:Getting ID of a control from gridview edit mode to be used by Javascript从 Javascript 使用的 gridview 编辑模式获取控件的 ID
【发布时间】:2011-06-08 16:07:05
【问题描述】:

希望有人可以帮助我,我已经苦苦挣扎了几天。

基本上需要发生的事情是当用户在 gridview 上单击编辑并单击某个文本框时会弹出一个 javascript 日历并且用户选择一个日期。

到目前为止,我可以对其进行静态设置,并且日历适用于该行,但不适用于其他行,因为 ID 发生了变化。

我的 ASP 代码(文本框的 id 已设置为 txtStartDate):

<asp:TemplateField SortExpression="StartDate" HeaderText="Start Date">
            <EditItemTemplate>
             <asp:TextBox ID="txtStartDate" onClick="ddlchange()" Runat="server" Text='<%#Bind("StartDate")%>'> 

                </asp:TextBox>         
            </EditItemTemplate>

            <ItemTemplate>
                <asp:Label ID="label1" runat="server" Text='<%#Bind("StartDate")%>'></asp:Label>                   
            </ItemTemplate>

            </asp:TemplateField>

包含日历的Javascript函数

$("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker({ changeMonth: true });
//getter
var changeMonth = $("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker("option", "changeMonth");
//setter
$("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker("option", "changeMonth", true);

$("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker({ changeYear: true });
//getter
var changeYear = $("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker("option", "changeYear");
//setter
$("#ctl00_cphMain_GridView1_ctl02_txtStartDate").datepicker("option", "changeYear", true);

这适用于一个文本框。它不适用于其他,因为 'ct102' 随每一行而变化。

【问题讨论】:

  • 。不要不要这样硬编码你的名字。如果需要,请将控件的客户端 ID 行为设置为常量,但不要对 ASP.NET 呈现的控件名称进行硬编码。
  • 有什么具体原因吗?我为另一个控件这样做,我需要在编辑模式下的下拉列表并且工作正常

标签: javascript vb.net gridview


【解决方案1】:

你不能给你的文本框一个类,然后使用一个类选择器来分配日期选择器吗?

例如:

<asp:TextBox ID="txtStartDate" onClick="ddlchange()" Runat="server" 
             Text='<%#Bind("StartDate")%>' CssClass="dateTextBox">

$(".dateTextBox").datepicker("option", "changeMonth", true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多