我是桌面客户端开发人员。我现在要继续这个项目是用AJAX的ASP.NET,所以我正在努力学习Web开发。
当用户点击按钮 CmdSave 时,我需要从 Summary.aspx 上的转发器控件中获取所有复选框及其状态的列表的 ChoicePage.aspx 即可。
我可以订阅 Summary.aspx 中的事件CmdSave_Click(),还是可以通过某种方式从 ChoicePage.aspx接近 Summary.aspx 的转发器控件?
(MSDN谈到在this文章中将值从页面传递到页面,但这对我没有帮助)
问题在于: 页面 ChoicePage.aspx 包含在Master AppMaster.master页面中。 ChoicePage 包含内容标记,其中包含CmdSave及其事件处理程序 CmdSave_Click(),还包含用于显示其他网页的 iframe 标记,摘要.aspx
在 Summary.aspx 上,我有与数据源绑定的转发器控件,相关字段的类型为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>
答案 0 :(得分:0)
最终这解决了我的问题:
在CmdSave_Click()
函数的ChoicePage.aspx上,我在Summary.aspx上调用了另一个函数。
我的代码中的另一个函数__dopostback("Repeater", "")
和Render event
后面迭代了一个Repeater。
我暂时没有回答这个问题,因为我确信有更好的方法可以做到这一点。