背景
所以我正在构建一个仪表板。在某些时候,用户按下“添加小部件”按钮。一个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>
花式框包含一些文本字段和下拉列表。这些下拉列表由数据库数据填充。用户做出选择(例如,他想在小部件中看到哪种类型的图表)。最终,用户选择了他所有的选择并在文本字段中输入了文本(例如小部件标题)。用户按下“保存”按钮。代码如下所示(为简单起见,我只为小部件标题添加了一个字段):
<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 函数。此时所有文本字段和下拉列表中的选定项都是空的。文本字段为“”。我想通过在我的数据库中启动一个 INSERT 查询行来将数据保存在 saveWidget_Click 函数中,但是数据是空的。
也许我正在以错误的方式接近“其中包含数据的弹出窗口”。但我希望我只是错过了一些东西,而我想要的东西可以使用fancybox。
综上所述
我可以用数据库数据填充我的幻想框中的文本字段和下拉列表。但是,我无法在我的数据库中保存已编辑的文本字段和选定的下拉列表项,因为按下保存按钮后,页面会重新加载并且所有输入的数据都消失了。