在ASP.NET DataList控件中的jQuery-UI确认对话框

我试图让一个jQuery-UI确认对话框在点击DataList控件中的LinkBut​​ton时工作,但没有任何我尝试过似乎工作。 DataList是数据库条目的文件附件列表。在ASP.NET DataList控件中的jQuery-UI确认对话框

这里是原来的.aspx文件的相关部分:

<ul id="attachmentList"> 

<asp:DataList ID="dlAttachments" runat="server" DataKeyField="AttachID" RepeatLayout="Flow">

<ItemTemplate>

<li>

<asp:HyperLink ID="hlViewAttach" runat="server" NavigateUrl='<%# CreateAttachURL(Convert.ToInt32(Eval("AttachID"))) %>'

Text='<%# Eval("Description").ToString() %>' Target="_blank" />

<em>(</em><asp:Label ID="lblType" runat="server" Text='<%# GetFriendlyFileType(Eval("FileType").ToString()) %>' Font-Italic="True"></asp:Label>,

<asp:Label ID="lblSize" runat="server" Text='<%# GetFriendlyFileSize(Convert.ToInt32(Eval("FileSize"))) %>' Font-Italic="True"></asp:Label><em>)</em>

<asp:LinkButton ID="btnDelAttach" runat="server" OnClick="btnDelAttach_Click"

OnClientClick="return ConfirmDeleteAttachment(this, 'Please confirm deletion', 'Are you sure you wish to delete this attachment?');">DELETE</asp:LinkButton>

</ItemTemplate>

</asp:DataList>

</ul>

下面是上述由ASP.Net作为生成的HTML:

<ul id="attachmentList"> 

<span id="ctl00_mainContent_wizNewIPR_dlAttachments">

<li><a id="ctl00_mainContent_wizNewIPR_dlAttachments_ctl00_hlViewAttach" href="ViewAttachment.aspx?AttachID=260" target="_blank">Attachment description #1</a>

<em>(</em><span id="ctl00_mainContent_wizNewIPR_dlAttachments_ctl00_lblType" style="font-style:italic;">Acrobat PDF document</span>,

<span id="ctl00_mainContent_wizNewIPR_dlAttachments_ctl00_lblSize" style="font-style:italic;">74.61 kB</span><em>)</em>

<a onclick="return ConfirmDeleteAttachment(this, 'Please confirm deletion', 'Are you sure you wish to delete this attachment?');"

id="ctl00_mainContent_wizNewIPR_dlAttachments_ctl00_btnDelAttach" href="javascript:__doPostBack('ctl00$mainContent$wizNewIPR$dlAttachments$ctl00$btnDelAttach','')">DELETE</a></li>

</span>

</ul>

我使用jQuery的功能一个简单的是/否对话框来确认删除附件。这里的JavaScript源:

//Confirm Delete Attachment dialog 

var delConfirmed = false;

function ConfirmDeleteDialog(obj, title, dialogText) {

if (!delConfirmed) {

//add the dialog div to the page

$('body').append(String.Format("<div id='confirmDeleteDialog' title='{0}'><p>{1}</p></div>", title, dialogText));

//create the dialog

$('#confirmDeleteDialog').dialog({

modal: true,

resizable: false,

draggable: false,

close: function(event, ui) { $('body').find('#confirmDeleteDialog').remove(); },

buttons:

{

'Yes, delete it': function() {

$(this).dialog('close');

delConfirmed = true;

if (obj) obj.click();

},

'No, keep it': function() {

$(this).dialog('close');

}

}

});

}

return delConfirmed;

}

我得到这个从http://markmintoff.com/2011/03/asp-net-jquery-confirm-dialog/ - 它看起来很简单,是有道理的,但由于某种原因,它不是为我工作。我从来没有得到jQuery-UI确认对话框,它只是当我点击按钮时触发我按钮的OnClick事件。

回答:

答案是使LinkBut​​ton的(“ConfirmDeleteAttachment”)的事件的OnClientClick函数调用符合我调用函数的名字!这只是一个愚蠢的错字。

这个答案的信贷交给开发人员(Mark Mintoff,请参阅他的博客http://markmintoff.com),我的代码是我使用的 - 我给他发了电子邮件,他指出了我的错误。

回答:

取下单引号

[id$=btnDelAttach] 

以上是 在ASP.NET DataList控件中的jQuery-UI确认对话框 的全部内容, 来源链接: utcz.com/qa/265434.html

回到顶部