【发布时间】:2011-04-14 17:38:39
【问题描述】:
我想做的是让用户向数据库添加一条新记录并弹出一个 JQuery 对话框,确认新记录已保存。我认为这将是一个简单的练习。我有一个绑定到 LINQDataSource 的 gridview 以允许用户查看和编辑现有记录以及一个文本框和一个按钮来添加新代码。
在文档的头部,我有以下内容:
$('#dialog').dialog({
autoOpen: false,
width: 400,
buttons: {
"Ok": function () {
$(this).dialog("close");
}
}
});
在我拥有的标记中进一步向下:
<div id="dialog" title="New Code Added">
<p>"<asp:Literal runat="server" ID="LiteralNewCode"></asp:Literal>" was successfully added.</p>
</div>
所以当用户输入一个新的描述并且它通过所有的验证时,它被添加到数据库中并且gridview被重新显示以显示新的记录。
protected void ButtonSave_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
CCRCode.Add( <long list of paramters> );
GridCode.DataBind();
IsNewCode = true;
NewDescription = <new description saved to database>;
}
}
现在,在这里(我想)我设置了一个布尔属性来指示已添加新描述以及新描述的文本。见下文:
protected bool IsNewCode
{
get { return ViewState["IsNewCode"] != null ? (bool)ViewState["IsNewCode"] : false; }
set { ViewState["IsNewCode"] = value; }
}
private string NewDescription
{
get { return ViewState["NewDescription"] != null ? ViewState["NewDescription"].ToString() : string.Empty; }
set { ViewState["NewDescription"] = value; }
}
这就是我失控的地方。我的猜测是我想添加功能以包含类似于以下内容的代码:
$('#dialog').dialog('open');
我在 page_load 事件中添加了一个 registerscriptblock 方法,但这不起作用。有任何想法吗?还是我完全错了?
谢谢。
【问题讨论】:
标签: asp.net postback jquery-ui-dialog