好的,在这里打我的脑袋。似乎有很多关于此的讨论,但我认为我需要更详细地分解它。我想创建一个带有树形视图的模式对话框,允许用户进行某些交互(复选框),然后在用户单击对话框上的确定时在主页面上设置一个字段。不完全确定如何做到这一点。带动态内容的jQuery模态对话框
我可以用一个按钮打开对话框,点击没问题。
标记:
<input id="buttonBuildSelect" runat="server" value="Build Select" type="submit" onserverclick="buttonBuildSelect_ServerClick" />
<div id="dialog" title="Expression Builder">
<p>
<asp:CheckBox ID="checkBoxOverwrite" runat="server" Text="Overwrite Existing Statement" /></p>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" Style="border: 1px solid black; overflow: auto;
height: 200px;">
<asp:Label ID="labelExpressionType" runat="server" Text=""></asp:Label>
<asp:TreeView ID="popupTreeView" runat="server" CssClass="treeview" ShowLines="true"
NodeStyle-CssClass="nodeStyle">
</asp:TreeView>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</div>
脚本:
$(document).ready(function() {
$(function() {
$("input:submit").button();
$("input:submit").click(function() {
$("#dialog").dialog("open");
return false;
});
});
$(function() {
$("#dialog").dialog(
{
autoOpen: false,
modal: true,
width: 400,
height: 355,
resizable: false,
open: function() {
$(this).load("ExpressionBuilder.ascx");
},
options: { resizable: false },
buttons: { "OK": function() {
return false
},
Cancel: function() {
$(this).dialog("close")
}
}
}
)
});
});
但我无法弄清楚如何1)点击按钮2)负载树视图从数据库3)打开对话框
我有一直在研究两种方法,但无法让其工作。
方法1:使用ajax。但是,我以什么格式返回数据以绑定到树视图以及如何从脚本绑定树视图。
方法2:将在单独的用户控制对话框的内容,然后设置对话框加载用户控制
哪种方法去追求,然后需要一些帮助,以解决该方法的工作...
感谢
编辑
我建立一个查询生成器。用户从可用实体的下拉列表中选择实体。用户点击“Build Select Statement”按钮。出现一个对话框,将所选实体的树视图作为父节点以及实体中所有字段的子节点。用户检查他们想要包含在select语句中的每个字段,然后单击确定。对话框关闭,'Select Statement'文本框中填充格式化为实体数据源ESQL语句([。field1],[。field2]等)的选中字段。)
代码发布上面打开对话框,但我们没有内容(因为我没有绑定任何数据,我可以硬编码数据,但我希望用户能够选择使用哪个实体,这意味着树的数据源视图必须是动态的,现在,我还没有能够得到这两种方法的工作没有错误,但没有对话中使用(按钮点击什么都不做)
困惑..can你更多地讨论你想达到什么什么错误,你现在越来越...顶ü说,你可以用一个按钮来打开对话框的onclick,并在底部你说你想找出如何3)打开Dialog? – Scorpio
看到上面的编辑...希望有所帮助。 –