ASP.NET简化编辑界面解决思路及实现代码(2)
更新时间:2013年01月25日 11:11:06 作者:
这篇与前一篇改进部分,也许大家会留意到动画演示,主要是GridVeiw的更新与删除会在每row都有。因此Insus.NET把它抽取出来,放在GridView外,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
程序是需要不断改进,上午做了,下午再去看时,会觉它不够完美。
比如这个:https://www.jb51.net/article/33563.htm现在Insus.NET把它改为下面这个样子:
这篇与前一篇改进部分,也许大家会留意到动画演示,主要是GridVeiw的更新与删除会在每row都有。因此Insus.NET把它抽取出来,放在GridView外。致于一次性更新多笔记录,Insus.NET在很早之前已经录制过视频下载地址。还有一个就是删除,在每row第一列放了一个CheckBox,让用户可以选择记录进行删除。
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
</ItemTemplate>
</asp:TemplateField>
删除前提示用户确认之后,再删除,但是在这里遇上一个问题,就是首先判断是否有选择记录,再confirm用户确认删除
还有一点要注意的地方,就是选择CheckBox之后,行可以Highlight,实现方可以参考:https://www.jb51.net/article/33558.htm
以下较完整代码,仅供参考:
<asp:Table ID="Table1" runat="server" CssClass="table" CellPadding="2" CellSpacing="0">
<asp:TableHeaderRow Height="20" BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
<asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
Chinese Name
</asp:TableHeaderCell>
<asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0" Width="50%">
English Name
</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow Height="20">
<asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
<asp:TextBox ID="txt_CName" runat="Server" CssClass="textbox" />
</asp:TableCell>
<asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
<asp:TextBox ID="txt_EName" runat="Server" CssClass="textbox" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<div style="margin-top: 3px; margin-bottom: 3px; padding: 3px;">
<asp:Button ID="ButtonInsert" Text="Insert" runat="Server" OnClick="ButtonInsert_Click" />
<asp:Button ID="ButtonUpdate" Text="Update" runat="Server" OnClick="ButtonUpdate_Click" />
<asp:Button ID="ButtonDelete" Text="Delete" runat="Server" OnClick="ButtonDelete_Click"
CausesValidation="false" />
</div>
<asp:GridView ID="GvCutterType" runat="server" DataKeyNames="CutterTypeId" AutoGenerateColumns="false"
CellPadding="2" CellSpacing="0" Width="100%" BorderWidth="0" BorderColor="#c0c0c0"
RowStyle-Height="20" ShowHeader="false">
<Columns>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" />
<ItemTemplate>
<asp:TextBox ID="txtCName" runat="server" Text='<%# Eval("CName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="50%" />
<ItemTemplate>
<asp:TextBox ID="txtEName" runat="server" Text='<%# Eval("EName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
xxx.aspx.cs:
protected void ButtonInsert_Click(object sender, EventArgs e)
{
//do Insert something
//obj.Insert(......);
}
protected void ButtonUpdate_Click(object sender, EventArgs e)
{
//reference this url: http://www.cnblogs.com/insus/articles/1400150.html
}
protected void ButtonDelete_Click(object sender, EventArgs e)
{
// string dataKeyNames = xxx;
// string[] arr = dataKeyNames.Substring(1).Split(',');
try
{
foreach (string s in arr)
{
//obj.Delter(s);
}
}
catch (Exception ex)
{
//alert exception message
}
}
比如这个:https://www.jb51.net/article/33563.htm现在Insus.NET把它改为下面这个样子:
这篇与前一篇改进部分,也许大家会留意到动画演示,主要是GridVeiw的更新与删除会在每row都有。因此Insus.NET把它抽取出来,放在GridView外。致于一次性更新多笔记录,Insus.NET在很早之前已经录制过视频下载地址。还有一个就是删除,在每row第一列放了一个CheckBox,让用户可以选择记录进行删除。
复制代码 代码如下:
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
</ItemTemplate>
</asp:TemplateField>
删除前提示用户确认之后,再删除,但是在这里遇上一个问题,就是首先判断是否有选择记录,再confirm用户确认删除
还有一点要注意的地方,就是选择CheckBox之后,行可以Highlight,实现方可以参考:https://www.jb51.net/article/33558.htm
以下较完整代码,仅供参考:
复制代码 代码如下:
<asp:Table ID="Table1" runat="server" CssClass="table" CellPadding="2" CellSpacing="0">
<asp:TableHeaderRow Height="20" BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
<asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0">
Chinese Name
</asp:TableHeaderCell>
<asp:TableHeaderCell BackColor="#efebde" BorderWidth="1" BorderColor="#c0c0c0" Width="50%">
English Name
</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow Height="20">
<asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
<asp:TextBox ID="txt_CName" runat="Server" CssClass="textbox" />
</asp:TableCell>
<asp:TableCell BorderWidth="1" BorderColor="#c0c0c0">
<asp:TextBox ID="txt_EName" runat="Server" CssClass="textbox" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<div style="margin-top: 3px; margin-bottom: 3px; padding: 3px;">
<asp:Button ID="ButtonInsert" Text="Insert" runat="Server" OnClick="ButtonInsert_Click" />
<asp:Button ID="ButtonUpdate" Text="Update" runat="Server" OnClick="ButtonUpdate_Click" />
<asp:Button ID="ButtonDelete" Text="Delete" runat="Server" OnClick="ButtonDelete_Click"
CausesValidation="false" />
</div>
<asp:GridView ID="GvCutterType" runat="server" DataKeyNames="CutterTypeId" AutoGenerateColumns="false"
CellPadding="2" CellSpacing="0" Width="100%" BorderWidth="0" BorderColor="#c0c0c0"
RowStyle-Height="20" ShowHeader="false">
<Columns>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="1%" />
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" onclick="Javascript:changeRowBgColor(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" />
<ItemTemplate>
<asp:TextBox ID="txtCName" runat="server" Text='<%# Eval("CName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle BorderWidth="1" BorderColor="#c0c0c0" Width="50%" />
<ItemTemplate>
<asp:TextBox ID="txtEName" runat="server" Text='<%# Eval("EName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
xxx.aspx.cs:
复制代码 代码如下:
protected void ButtonInsert_Click(object sender, EventArgs e)
{
//do Insert something
//obj.Insert(......);
}
protected void ButtonUpdate_Click(object sender, EventArgs e)
{
//reference this url: http://www.cnblogs.com/insus/articles/1400150.html
}
protected void ButtonDelete_Click(object sender, EventArgs e)
{
// string dataKeyNames = xxx;
// string[] arr = dataKeyNames.Substring(1).Split(',');
try
{
foreach (string s in arr)
{
//obj.Delter(s);
}
}
catch (Exception ex)
{
//alert exception message
}
}
您可能感兴趣的文章:
- ASP.NET 防止用户跳过登陆界面
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- ASP.NET简化编辑界面解决思路及实现代码
- ASP.Net中利用CSS实现多界面的两种方法
- asp.net通过动态加载不同CSS实现多界面
- 在ASP.NET 2.0中操作数据之十五:在GridView的页脚中显示统计信息
- 在ASP.NET 2.0中操作数据之十六:概述插入、更新和删除数据
- 在ASP.NET 2.0中操作数据之十七:研究插入、更新和删除的关联事件
- 在ASP.NET 2.0中操作数据之十八:在ASP.NET页面中处理BLL/DAL层的异常
- 在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件
- 在ASP.NET 2.0中操作数据之二十:定制数据修改界面
相关文章
JavaScript验证用户输入的是字符或数字及ASCII Chart应用
我们可以根据onkeydown事件的event.keyCode即是ASCII Chart来判断字符或数字等,本文提供了相关键盘key对应的ASCII码,以供用户使用是参考及使用onpaste事件只能输入字符和数字防止粘贴等的,感兴趣的朋友可以了解下2013-01-01.NET Core 1.0创建Self-Contained控制台应用
这篇文章主要为大家详细介绍了.NET Core 1.0创建Self-Contained控制台应用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04
最新评论