背景
所以我正在构建一个仪表板。在某些时候,用户按下“添加小部件”按钮。 fancybox将目标div加载到fancybox中。代码如下所示:
<script type="text/javascript">
$(document).ready(function (){
$("#various1").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none',
'closeBtn': 'true'
});
});
</script>
<!-- Add Widget Button-->
<div class="cell_title_buttonAddWidget" style="right: 90px;">
<a id="various1" href="#AddWidget">Add New Widget</a>
</div>
fancybox包含一些文本字段和下拉列表。这些下拉列表由数据库数据填充。用户进行选择(例如,他想在窗口小部件中看到哪种类型的图表)。最终,用户选择了他所有的选择并在文本字段中输入了文本(例如,小部件标题)。用户按“保存”按钮。这个代码看起来像这样(为了简单起见,我只为小部件标题添加了一个字段):
<div style="display: none">
<div id="AddWidget" style="width:800px">
<div class="cell" style="margin: 0;">
<div class="cell_title">Add Widget</div>
<table style="margin: 10px;">
<tbody>
<tr>
<td class="form_label">Widget Title:</td>
<td>
<input id="AddWidgetTitle" runat="server" style="width: 250px;">
</td>
</tr>
<tr>
<td class="form_label"></td>
<td>
<input id="saveWidget" runat="server" type="button" value="Save" OnServerClick="saveWidget_Click">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
我现在想要完成的事情
按下保存按钮后,我想要触发saveWidget_Click函数。然后我想通过读取AddWidgetTitle.value将AddWidgetTitle的值放在一个字符串中(稍后放入数据库中)。
问题
按下输入按钮后,我在代码隐藏中触发saveWidget_Click函数。但是,在执行此操作之前,将执行page_load函数。此时所有文本字段和下拉列表选定项都是EMPTY。文本字段为“”。我想通过在我的数据库中启动INSERT查询行来保存saveWidget_Click函数中的数据,但数据是空的。
也许我正在接近'弹出窗口,里面有数据'是错误的方式。但我希望我只是错过了一些东西,我想要的东西可能是使用fancybox。
总结
我可以使用数据库数据填充我的fancybox中的文本字段和下拉列表。但是,我无法在我的数据库中保存已编辑的文本字段和选定的下拉列表项,因为按下保存按钮后,页面将重新加载并且所有输入的数据都将消失。