ASP.NETとJQueryは初めてです。
現在、2つの異なるページをロードし、2つの異なるボタンクリック(ボタンIDで制御)に基づいて値を渡すJQueryのコードがあります。コードを複製しているように見えるので、これをjavascript関数のようなものにして、4つのパラメーター(ページまたはURL、RecordID、幅、高さ)を渡すことができるかどうか疑問に思います。コードで説明しましょう。
私はこれらの2つのボタンを持っています:
<table width="80%" align="center" >
<tr>
<td width="45%"></td>
<td width="10%" class="PageTitle"></td>
<td width="45%" style="text-align:right;">
<asp:Button runat="server" CommandName="buttonCreateApprovedMDF" ID="buttonCreateApprovedMDF"
Text="Create Approved MDF" href="ApprovedCreateNew.aspx?AnotherID=" title="Create Approved MDF" class="button3"/>
<asp:Button runat="server" CommandName="buttonCreateNote" ID="buttonCreateNote"
Text="Create Note" href="ProposalCreateNote.aspx?ProposalID=" title="Create Note" class="button3"/>
</td>
</tr>
</table>
そしてこれはJQueryコード(複製)であり、PageとRecordIDだけが異なり、すべてが同じです。
$(document).ready(function () {
$('#<%= buttonCreateNote.ClientID %>').live('click', function(e) {
e.preventDefault();
var lblID = $("[ID$='ProposalID']").text();
var page = '<%= ResolveClientUrl("ProposalCreateNote.aspx")%>' + '?ProposalID=' + encodeURIComponent($('span[id$="ProposalID"]').text());
var pagetitle = $(this).attr("title");
//alert(page);
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%" frameBorder="0" align="middle"> ></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: 650,
width: 900,
title: pagetitle
});
$dialog.dialog('open');
});
$('#<%= buttonCreateApprovedMDF.ClientID %>').live('click', function (e) {
e.preventDefault();
var lblID = $("[ID$='AnotherID']").text();
var page = '<%= ResolveClientUrl("ApprovedCreateNew.aspx")%>' + '?AnotherID=' + encodeURIComponent($('span[id$="AnotherID"]').text());
var pagetitle = $(this).attr("title");
//alert(page);
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%" frameBorder="0" align="middle"> ></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: 650,
width: 900,
title: pagetitle
});
$dialog.dialog('open');
});
});
これらのラベル(DetailsView内)は、JQueryがパラメーターを渡すために使用します。
<asp:Label ID="ProposalID" runat="Server" style="text-align:left;"
Text='<%# Eval("ProposedID")%>' />
<asp:Label ID="AnotherID" runat="Server" style="text-align:left;"
Text='<%# Eval("AnotherID")%>' />
上記の複製されたJQueryを「OpenIframe(URL、RecordID、Width、Height)」のような1つの関数に組み合わせるにはどうすればよいですか?そして、おそらくOnClientClick(これらのパラメーターを使用)を使用してIFrameポップアップをトリガーしますか?
前もって感謝します。