<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="lvds1.aspx.cs" Inherits="ASP.Net高级.综合应用案例.lvds1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <mce:script src="../script/jquery-1.4.2.min.js" mce_src="script/jquery-1.4.2.min.js" type="text/javascript"></mce:script> <mce:script type ="text/javascript"><!-- function onLinkTypeChange(src) { if ($(src).val() == "Text") { $("#ListView1_LogoURLTextBox").hide(); } else { $("#ListView1_LogoURLTextBox").show(); } } // --></mce:script> </head> <body> <form id="form1" runat="server" > <div> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="ASP.Net高级.综合应用案例.DAL.lvds1TableAdapters.T_LinksTableAdapter" UpdateMethod="Update"> <DeleteParameters> <asp:Parameter Name="Original_Id" Type="Int64" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="SegNo" Type="Int32" /> <asp:Parameter Name="SiteName" Type="String" /> <asp:Parameter Name="LinkType" Type="String" /> <asp:Parameter Name="SiteURL" Type="String" /> <asp:Parameter Name="LogoURL" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="SegNo" Type="Int32" /> <asp:Parameter Name="SiteName" Type="String" /> <asp:Parameter Name="LinkType" Type="String" /> <asp:Parameter Name="SiteURL" Type="String" /> <asp:Parameter Name="LogoURL" Type="String" /> <asp:Parameter Name="Original_Id" Type="Int64" /> </UpdateParameters> </asp:ObjectDataSource> <asp:ListView ID="ListView1" runat="server" DataKeyNames="Id" DataSourceID="ObjectDataSource1" InsertItemPosition="LastItem" onitemcreated="ListView1_ItemCreated" oniteminserting="ListView1_ItemInserting" onitemupdating="ListView1_ItemUpdating"> <EditItemTemplate> <tr style="background-color: #999999;" mce_style="background-color: #999999;"> <td> <asp:Button ID="UpdateButton" ValidationGroup="Edit" runat="server" CommandName="Update" Text="更新" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" /> </td> <td> <asp:TextBox ID="SegNoTextBox" runat="server" Text='<%# Bind("SegNo")%>' ValidationGroup="Edit" /><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup="Edit" ErrorMessage="*" ControlToValidate="SegNoTextBox"></asp:RequiredFieldValidator><asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="SegNoTextBox" Operator="DataTypeCheck" Type="Integer" ValidationGroup="Edit" ErrorMessage="必须为整数"></asp:CompareValidator> </td> <td> <asp:TextBox ID="SiteNameTextBox" MaxLength="50" ValidationGroup="Edit" runat="server" Text='<%# Bind("SiteName") %>' /><asp:RequiredFieldValidator ID="RequiredFieldValidator2" ValidationGroup="Edit" ControlToValidate="SiteNameTextBox" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator> </td> <td> <asp:DropDownList ID="ddlLinkType" runat="server"> <asp:ListItem Value="Text">文本</asp:ListItem> <asp:ListItem Value="Pic">图片</asp:ListItem> </asp:DropDownList> </td> <td> <asp:TextBox ID="SiteURLTextBox" MaxLength="100" ValidationGroup="Edit" runat="server" Text='<%# Bind("SiteURL") %>' /><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*" ControlToValidate="SiteURLTextBox" ValidationGroup="Edit"></asp:RequiredFieldValidator> </td> <td> <asp:TextBox ID="LogoURLTextBox" MaxLength="100" runat="server" Text='<%# Bind("LogoURL") %>' /> </td> </tr> </EditItemTemplate> <EmptyDataTemplate> <table runat="server" style="background-color: #FFFFFF; border-collapse: collapse; border-color: #999999; border-style: none; border-width: 1px;" mce_style="background-color: #FFFFFF; border-collapse: collapse; border-color: #999999; border-style: none; border-width: 1px;"> <tr> <td> 未返回数据。 </td> </tr> </table> </EmptyDataTemplate> <InsertItemTemplate> <tr style=""> <td> <asp:Button ID="InsertButton" ValidationGroup="Insert" runat="server" CommandName="Insert" Text="插入" /> <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" /> </td> <td> <asp:TextBox ID="SegNoTextBox" ValidationGroup="Insert" runat="server" Text='<%# Bind("SegNo") %>' /><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup="Insert" ErrorMessage="*" ControlToValidate="SegNoTextBox"></asp:RequiredFieldValidator><asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="SegNoTextBox" Operator="DataTypeCheck" Type="Integer" ValidationGroup="Insert" ErrorMessage="必须为整数"></asp:CompareValidator> </td> <td> <asp:TextBox ID="SiteNameTextBox" ValidationGroup="Insert" MaxLength="50" runat="server" Text='<%# Bind("SiteName") %>' /><asp:RequiredFieldValidator ID="RequiredFieldValidator2" ValidationGroup="Insert" ControlToValidate="SiteNameTextBox" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator> </td> <td> <asp:DropDownList ID="ddlLinkType" runat="server"> <asp:ListItem Value="Text">文本</asp:ListItem> <asp:ListItem Value="Pic">图片</asp:ListItem> </asp:DropDownList> </td> <td> <asp:TextBox ID="SiteURLTextBox" ValidationGroup="Insert" MaxLength="100" runat="server" Text='<%# Bind("SiteURL") %>' /><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*" ControlToValidate="SiteURLTextBox" ValidationGroup="Insert"></asp:RequiredFieldValidator> </td> <td> <asp:TextBox ID="LogoURLTextBox" MaxLength="100" runat="server" Text='<%# Bind("LogoURL") %>' /> </td> </tr> </InsertItemTemplate> <ItemTemplate> <tr style="background-color: #E0FFFF; color: #333333;" mce_style="background-color: #E0FFFF; color: #333333;"> <td> <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" /> <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" /> </td> <td> <asp:Label ID="SegNoLabel" runat="server" Text='<%# Eval("SegNo") %>' /> </td> <td> <asp:Label ID="SiteNameLabel" runat="server" Text='<%# Eval("SiteName") %>' /> </td> <td> <asp:DropDownList ID="ddlLinkType" runat="server" Enabled="false"> <asp:ListItem Value="Text">文本</asp:ListItem> <asp:ListItem Value="Pic">图片</asp:ListItem> </asp:DropDownList> </td> <td> <asp:Label ID="SiteURLLabel" runat="server" Text='<%# Eval("SiteURL") %>' /> </td> <td> <asp:Label ID="LogoURLLabel" runat="server" Text='<%# Eval("LogoURL") %>' /> </td> </tr> </ItemTemplate> <LayoutTemplate> <table runat="server"> <tr runat="server"> <td runat="server"> <table id="itemPlaceholderContainer" runat="server" border="1" style="background-color: #FFFFFF; border-collapse: collapse; border-color: #999999; border-style: none; border-width: 1px; font-family: Verdana, Arial, Helvetica, sans-serif;" mce_style="background-color: #FFFFFF; border-collapse: collapse; border-color: #999999; border-style: none; border-width: 1px; font-family: Verdana, Arial, Helvetica, sans-serif;"> <tr runat="server" style="background-color: #E0FFFF; color: #333333;" mce_style="background-color: #E0FFFF; color: #333333;"> <th runat="server"> </th> <th runat="server"> 序号 </th> <th runat="server"> 网站名 </th> <th runat="server"> 链接类型 </th> <th runat="server"> 网站地址 </th> <th runat="server"> Logo地址 </th> </tr> <tr id="itemPlaceholder" runat="server"> </tr> </table> </td> </tr> <tr runat="server"> <td runat="server" style="text-align: center; background-color: #5D7B9D; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF" mce_style="text-align: center; background-color: #5D7B9D; font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF"> </td> </tr> </table> </LayoutTemplate> </asp:ListView> </div> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace ASP.Net高级.综合应用案例 { public partial class lvds1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e) { //更新前进行的事件处理 DropDownList ddlLinkType = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("ddlLinkType"); TextBox LogoURLTextBox = (TextBox)ListView1.Items[e.ItemIndex].FindControl("LogoURLTextBox"); e.NewValues["LinkType"] = ddlLinkType.SelectedValue; if (ddlLinkType != null && LogoURLTextBox != null) { if (ddlLinkType.SelectedValue == "Text") { LogoURLTextBox.Style["display"] = "none"; e.NewValues["LogoURL"] = ""; } //LogoURLTextBox.Attributes["onsubmit"]="return "+"onLogoURLSubmit(this)"; else if (ddlLinkType.SelectedValue == "Pic") { if (LogoURLTextBox.Text == "") { e.Cancel = true; } } else { throw new Exception("非法的SelectValue值"); } } } protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e) { //插入前进行的事件处理 DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("ddlLinkType"); TextBox LogoURLTextBox = (TextBox)e.Item.FindControl("LogoURLTextBox"); e.Values["LinkType"] = ddlLinkType.SelectedValue; if (ddlLinkType.SelectedValue == "Pic") { if (LogoURLTextBox.Text == "") { e.Cancel = true; } } } protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e) { //插入数据前每行进行的事件处理 if (e.Item.ItemType == ListViewItemType.DataItem) { DataRowView rowView = (DataRowView)e.Item.DataItem; DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("ddlLinkType"); if (rowView != null && ddlLinkType != null) { var linkRow = (ASP.Net高级.综合应用案例.DAL.lvds1.T_LinksRow)rowView.Row; ddlLinkType.SelectedValue = linkRow.LinkType; } } if (e.Item.ItemType == ListViewItemType.InsertItem) { DropDownList ddlLinkType = (DropDownList)e.Item.FindControl("ddlLinkType"); TextBox LogoURLTextBox = (TextBox)e.Item.FindControl("LogoURLTextBox"); LogoURLTextBox.Attributes["a1"] = LogoURLTextBox.ClientID; if (ddlLinkType != null && LogoURLTextBox != null) { ddlLinkType.Attributes["onchange"] = "onLinkTypeChange(this)"; if (ddlLinkType.SelectedValue == "Text") { LogoURLTextBox.Style["display"] = "none"; } } } } } }