关闭后重新打开数据的Jquery Dialog - asp.net

时间:2013-06-10 09:36:09

标签: jquery asp.net jquery-ui jquery-dialog

我遇到Jquery Dialog的问题。我正在使用`GriView。在最后一栏中,我有一个打开对话框并询问用户电子邮件地址的按钮。一旦关闭,我正在摧毁对话。再次单击第二行按钮时,将打开一个已输入电子邮件地址的对话框。关闭后如何刷新模型对话框。此外,我想在按钮被单击到对话框时传递当前行的datakey。我正在使用它

data-id='<%# Eval("CompetitionEntryId") %>'

我可以在html中看到data-id。但是,当我尝试通过获取像

这样的值来提醒jquery中的id
var id = $(this).data("id");
            alert(id);

我看不到身份证。 [object][object]是警报中的输出。

ASPX

<div class="entryContents">
      <asp:GridView runat="server" AllowPaging="true" ID="entriesGridView" AutoGenerateColumns="false"
            DataKeyNames="CompetitionEntryId" ShowHeader="False" OnRowDataBound="entriesGridView_RowDataBound"
            CssClass="grid">
            <Columns>
                  <asp:BoundField HeaderText="EntryId" DataField="CompetitionEntryId" Visible="False" />
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="entry_image">
                                    <asp:Image ImageUrl="" runat="server" ID="entryImage" AlternateText="Challenge Image"
                                          CssClass="image" />
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="challengeInfo">
                                    <div class="title">
                                          <asp:HyperLink runat="server" ID="challengeTitleText"></asp:HyperLink>
                                    </div>
                                    <div class="authorName">
                                          <asp:HyperLink runat="server" ID="authorName"></asp:HyperLink>
                                    </div>
                                    <div class="desc">
                                          <asp:PlaceHolder runat="server" ID="phDesc"></asp:PlaceHolder>
                                    </div>
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="votingSection">
                                    <asp:LinkButton runat="server" ID="voteNowBtn" CssClass="voteNow" Text="Vote Now"
                                          data-id='<%# Eval("CompetitionEntryId") %>'></asp:LinkButton>
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
            </Columns>
      </asp:GridView>
</div>
<div class="vote-model" style="display: none;">
      <div class="header">
            <div class="title">
                  <h1>
                        Thank you for voting..
                  </h1>
            </div>
      </div>
      <div class="content">
            <div class="content-info">
                  Please enter your email address below, so that we can send you more information
                  on ** offers!
            </div>
            <div class="field">
                  <asp:Label runat="server" Text="Email Address:" ID="lblEmail"></asp:Label>
                  <asp:TextBox runat="server" ID="txtEmail"></asp:TextBox>
                  <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="txtEmail"
                        ErrorMessage="*required" CssClass="error required"></asp:RequiredFieldValidator>
                  <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Static"
                        SetFocusOnError="true" CssClass="error invalid" ControlToValidate="txtEmail"
                        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="Invalid Email Address Format."
                        EnableViewState="false" Text="Invalid Email Address">*Invalid</asp:RegularExpressionValidator>
            </div>
            <div class="field">
                  <asp:CheckBox runat="server" Text="I would like to receive **** offers." />
            </div>
            <div class="btnSections">
                  <asp:LinkButton runat="server" ID="btnCancel" Text="Cancel" />
                  <asp:LinkButton runat="server" ID="btnOk" Text="Submit" />
            </div>
      </div>
</div>

的Jquery

$('.voteNow').on("click", function (e) {
            e.preventDefault();
            var id = $(this).data("id");
            alert(id);
            $('.vote-model').dialog({
                  autoOpen: true,
                  width: 600,
                  height: 350,
                  resizable: false,
                  modal: true,
                  draggable: false
            });
      });

      $('#<%= btnCancel.ClientID %>').on("click", function () {
            $('.vote-model').dialog("destroy");
      });

1 个答案:

答案 0 :(得分:0)

试试这个:

$('.voteNow').on("click", function (e) {
        e.preventDefault();
        var id = $(this).data("id");
        alert(id);
        $('.vote-model').dialog({
              autoOpen: true,
               close: function (event, ui) {
            this.remove();
              },
              width: 600,
              height: 350,
              resizable: false,
              modal: true,
              draggable: false
        });
  });

  });