Я разработчик настольных клиентов. Теперь я должен продолжить этот проект - ASP.NET с AJAX, поэтому я изучаю веб-разработку с трудом.Могу ли я получить контроль со страницы, размещенной в кадре другой страницы?
Мне нужно, чтобы получить список всех флажков и их состояний от повторителя управления на Summary.aspx, когда пользователь нажимает кнопку CmdSave на ChoicePage.aspx.
Могу ли я подписаться на событие CmdSave_Click() в Summary.aspx или есть какой-то способ приблизиться управления повторителя Summary.aspx «s из ChoicePage.aspx?
(MSDN говорит о передаче значений от страницы к странице в this статьи, но это не помогает мне)
Вот проблема: Page ChoicePage.aspx входят в мастер AppMaster.master странице. ChoicePage имеет Content тег, который включает в себя CmdSave и это обработчик события CmdSave_Click() и он также включает в себя IFrame тег для отображения другой страницы, Summary.aspx
На Summary.aspx У меня есть контроль ретранслятора который привязан к DataSource, и соответствующие поля имеют тип bool, представленный столбцом редактируемого флажками. Нажатие этих флажков не должно приводить к обновлению Summary.aspx, поэтому я не хочу обрабатывать (на стороне сервера) событие CheckedChanged.
Я не уверен, что если какой-либо пример кода поможет здесь, так как это более концептуальный вопрос
function SetFrameStatus() {
var v = hdCommand.value.toString().toLowerCase();
hdCommand.value = "";
var frms = (GetFrameAll("FrameSummary"));
if (frms)
{ }
else return;
FrameSummary = frms[0];
DivSummary = FrameSummary.parentNode;
var FrameWindow = frms[1];
var FrameDocument = frms[2];
if (v == "showsummary") {
FrameWindow.location.replace(SummaryPageName);
}
}
<asp:Content ID="ContentSummary" ContentPlaceHolderID="NoUpdateDiv" runat="server">
<div id="DivMenu" class="Flat" style="overflow:visible; display:none;position:absolute;">
<input type="button" id="CmdSave" value="Save" onclick="CmdSave_Click()" />
</div>
<div id="DivSummary" style="position:absolute;margin:0px;padding:0px;display:none">
<iframe title="Loading" id="FrameSummary" marginheight="0px" marginwidth="0px" scrolling="auto"
style="padding:0px; margin:0px;width:auto;" src="loading.htm?Redirect=Summary.aspx" frameborder="0"
onload="FrameSummary_Load()"
></iframe>
</div>
В конце концов, это то, что решило мою проблему: В ChoicePage.aspx в функции CmdSave_Click() я вызвал другую функцию в Summary.aspx. Эта другая функция сделала __dopostback («Repeater», «») и событие Render в моем коде, за которым я повторяюсь через Repeater. Я остался без ответа, потому что я уверен, что есть лучший способ сделать это. Счастливый кодирование всех. – nzic