3dmax中文版如何打开reactor的面板
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3dmax中文版如何打开reactor的面板相关的知识,希望对你有一定的参考价值。
参考技术A 在屏幕上方主工具栏的空白处单击鼠标右键,然后选择就可以了。参考资料:www.hnsm.net
如何刷新打开的弹出扩展面板
【中文标题】如何刷新打开的弹出扩展面板【英文标题】:How to refresh an opened popup extender panel 【发布时间】:2011-10-22 08:22:36 【问题描述】:我有一个网格视图,其中每一行都有按钮。单击此按钮后,将打开 Modal PopUp Extender Panel(使用 PanelName.Show())。面板包含一个用户控件,它显示一些标签、文本框等。带有附加信息绑定表单 SqlDataSource。到目前为止,它运行良好。但是,当我单击另一个按钮时,仅显示面板但不刷新内容(根据单击的按钮,应显示一些详细信息)。基本上,SqlDataSource_Selecting 方法仅在面板弹出显示时调用,但现在不再调用。
如何在每个 PanelName.Show() 之后强制刷新(重新加载)面板??
提前致谢。
【问题讨论】:
【参考方案1】:如果我正确理解了您的问题,我认为问题在于您只需要在用户单击按钮更改 Selected 项后重新绑定数据绑定控件即可。你可以使用[ControlName].DataBind()
来做到这一点。这有意义吗?
【讨论】:
嗨,感谢您的评论,是的,我正在尝试,我在 Page_Load 方法中有这段代码,不幸的是,但它没有工作 - 代码被触发但数据网格没有重新-绑定。最后,我通过将整个自定义控件(弹出页面)放入更新面板来解决问题,之后,每次弹出面板时,页面都会更新/刷新。 干得好,先生!您可能需要更新此问题的标题,使其前面有 [已解决]。 @jadarnel27: 不,我们不在这里把 [已解决] 放在标题中。 @Frankie:如果您有解决问题的方法,可以将其作为您自己的答案发布并接受该答案(单击答案分数旁边的绿色复选标记),以便其他人知道这就是解决您的问题的方法。 @Bill:哦,谢谢。抱歉,我以为我以前看过。【参考方案2】:这取决于您要刷新的控件是否为DataBound()
。
换句话说,您是否可以通过使用DataBind()
方法调用强制控件重新加载自身,使用相同的数据或新数据来强制控件重新加载?
大多数 GUI 控件都有DataBind()
方法,但如果控件实际上没有使用数据来工作,它就毫无用处!
这就是为什么在您的情况下,您的面板没有用新数据“刷新”,因为在面板上使用 DataBind() 什么都不做。在整个 GridView 上使用 databind() 是另一回事,应该可以工作。也许在整个区域放置一个 UPDATEPANEL?如果你这样做,你必须小心你的正常编辑和行上的其他命令将继续工作。
然而,您可以将modalpopupextender
放在您的TemplateField
中,并使用“技巧”,您可以保持服务器回发并仍然触发弹出面板。
即
<asp:UpdatePanel ID="upADDMAIN" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="btnADD" runat="server" Text="NEW LOGIN" BackColor="Blue" Font-Bold="True" ForeColor="#FFFFCC" OnClick="btnADD_Click" />
<asp:Button ID="btnDUM" runat="server" style="display:none" />
<div style="height:20px">
</div>
<ajaxToolkit:ModalPopupExtender ID="mpeADD" runat="server"
targetcontrolid="btnDUM"
popupcontrolid="upADD"
backgroundcssclass="modelbackground">
</ajaxToolkit:ModalPopupExtender>
<asp:UpdatePanel ID="upAdd" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="pnlADD" runat="server" Width="700px" HorizontalAlign="Center" CssClass="auto-style10" Height="200px">
..
..
<div id="puFTR" class="auto-style17" style="vertical-align: middle">
<asp:Button id="btnOK" runat="server" Text="OK" style="width: 80px" OnClick="btnOK_Click" />
<asp:Button id="btnCAN" runat="server" Text="CANCEL" style="width: 80px" OnClick="btnCAN_Click" CausesValidation="False" />
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
如您所见,btnDUM
控件是让 MPE 工作的 Dummy,但实际上并未使用它,因为它被 style="display:none"
标记隐藏。
但是,btnADD
确实有效,因为它在服务器端调用 Click()
方法来刷新新行上的数据。您可能需要使用一点 jScript 将 ROWINDEX
传递给 Click() 方法,以便它与 GridView
一起工作。
顺便说一句,在我的例子中,Click() 方法手动“控制”了 MPE...
protected void btnADD_Click(object sender, EventArgs e)
ClearADDform();
mpeADD.Show();
protected void ClearADDform()
txtLOGIN.Text = string.Empty;
cbISActive.Checked = true;
txtPWD.Text = string.Empty;
ddlAgent.SelectedIndex = -1;
就我而言,上面的代码示例在 GridView 之外,因此您需要进行调整。
但重点是,您仍然可以使用 Ajax 弹出窗口进行服务器端调用!
祝你好运。
【讨论】:
以上是关于3dmax中文版如何打开reactor的面板的主要内容,如果未能解决你的问题,请参考以下文章
3dmax的动力学(reactor)里面的内容怎么变中文?如何把他弄在文件的那一行?(有图)回答正确给财富。