我想做的就是在编辑选中行的时候弹出一个新的页面来修改,修改完了之后将值传回原页面.我的代码是这样的,我应该怎么做啊?
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton1" runat="server" Text="编辑" CausesValidation="false" CommandName="Edit"></asp:LinkButton></FONT>
</ItemTemplate>
<EditItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton3" runat="server" Text="更新" CausesValidation="False" CommandName="Update"></asp:LinkButton>
<asp:LinkButton id="LinkButton2" runat="server" Text="取消" CausesValidation="false" CommandName="Cancel"></asp:LinkButton></FONT>
</EditItemTemplate>
</asp:TemplateColumn>还有一点 就是我datagrid里面的值是从数据库里面读出来的 修改之后要在datagrid中显示更新后的值,这些该怎么做啊?
谢谢大家了.很急很急的!
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton1" runat="server" Text="编辑" CausesValidation="false" CommandName="Edit"></asp:LinkButton></FONT>
</ItemTemplate>
<EditItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton3" runat="server" Text="更新" CausesValidation="False" CommandName="Update"></asp:LinkButton>
<asp:LinkButton id="LinkButton2" runat="server" Text="取消" CausesValidation="false" CommandName="Cancel"></asp:LinkButton></FONT>
</EditItemTemplate>
</asp:TemplateColumn>还有一点 就是我datagrid里面的值是从数据库里面读出来的 修改之后要在datagrid中显示更新后的值,这些该怎么做啊?
谢谢大家了.很急很急的!
修改以后可以用javascript重新定向父页面的地址,这样就取到刷新数据的效果了
<script>
opener.location.href="......"
self.close();
</script>
注意,不要用opener.location.reload()刷父页面,因为里面有form,会提示不提交数据无法刷新
弹出页面你用在Button的事件里就行了
父页面自动刷新是用客户端脚本
function OpenWindows(varurl)
{
var returnMsg=window.showModiledialog(varurl,"");
}
//****在itemdatabound事件中调用此函数
//****获取编辑按钮和记录编号
HtmlInputHidden txtid=(HtmlInputHidden)e.item.findcontrol("txtid");
LinkButton lkbEdit=(LinkButton)e.item.findcontrol("lblEdit");if(txtid!=null)
{
//*** caret url
string strURL="frminfo.aspx?ID="+txtid.value;
lkbEdit.Attributes("onclick","javascript:OpenWindows("+strURL+");");
}
//****在itemcommand事件重新加载数据就可以了.
//***你是用的DataGrid 自带的模版列按钮一个啊!//****前台调用js函数,打开窗体并传值
<asp:ButtonColumn Text="<img src=images/edit.gif border=0 align=absmiddle onclick="'javascript:Modify(-1);'"alt='修改' >"></asp:ButtonColumn>
//****后台代码,一般修改按钮在倒数第二例
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.Footer)
{
e.Item.Cells[e.Item.Cells.Count - 1].Attributes.Add("onclick", "javascript:WindowOpens(" + strURL + ");");
}
{
if(e.CommandName == "Edit")
{ } }