List Page

Html code:

  1. <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Videos.aspx.vb" Inherits="AwcWeb.Videos" %>
  2.  
  3. <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
  4. <%@ Register Src="LeftControl1.ascx" TagName="LeftControl1" TagPrefix="uc1" %>
  5. <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head id="Head1" runat="server">
  9. <title>視頻管理</title>
  10. <link href="css/Global.css" rel="stylesheet" type="text/css" />
  11. <script src="Scripts/RadCommon.js" type="text/javascript"></script>
  12. <style>
  13. ul#nav li a#nav03
  14. {
  15. background: #fff;
  16. color: #000;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <form id="form1" runat="server">
  22. <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
  23. <Scripts>
  24. <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js">
  25. </asp:ScriptReference>
  26. <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js">
  27. </asp:ScriptReference>
  28. <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js">
  29. </asp:ScriptReference>
  30. </Scripts>
  31. </telerik:RadScriptManager>
  32. <div class="header">
  33. <div class="roxvell_logo">
  34. <img width="191" height="24" style="margin-top: 35px; float: right;" src="data:images/logo.png">
  35. </div>
  36. </div>
  37. <div style="width: 1024px; height: 720px; margin: 0 auto; overflow: hidden;">
  38. <uc1:LeftControl1 ID="leftControl1" runat="server" />
  39. <div style="width: 874px; height: 720px; float: left;">
  40. <telerik:RadMenu ID="RadMenu1" runat="server" Skin="Default" OnClientItemClicked="OnClientItemClicked"
  41. Width="100%">
  42. <CollapseAnimation Duration="200" Type="OutQuint" />
  43. <Items>
  44. <telerik:RadMenuItem runat="server" Text="新增" Style="cursor: pointer;" Value="New" />
  45. <telerik:RadMenuItem runat="server" Text="編輯" Style="cursor: pointer;" Value="Edit" />
  46. <telerik:RadMenuItem runat="server" Text="刪除" Style="cursor: pointer;" Value="Del" />
  47. </Items>
  48. </telerik:RadMenu>
  49. <div style="width: 100%; height: 664px; overflow: hidden;">
  50. <telerik:RadGrid ID="radGrid1" runat="server" Skin="Default" AutoGenerateColumns="False"
  51. AllowMultiRowSelection="false" GridLines="None" PageSize="7" AllowPaging="True"
  52. Height="664px">
  53. <MasterTableView ClientDataKeyNames="VideoID" DataKeyNames="VideoID">
  54. <NoRecordsTemplate>
  55. <h4 style="color: #336699; font-weight: bold; font-size: 14px; height: 40px; line-height: 40px;
  56. width: 100%; text-align: center;">
  57. 暫無數據.</h4>
  58. </NoRecordsTemplate>
  59. <Columns>
  60. <telerik:GridTemplateColumn HeaderText="" UniqueName="Picture">
  61. <ItemTemplate>
  62. <table cellpadding="0" cellspacing="0" border="0" style="width: 70px; height: 66px;">
  63. <tr valign="middle" align="center">
  64. <td valign="middle" align="center">
  65. <asp:Image ID="imgPic" runat="server" />
  66. </td>
  67. </tr>
  68. </table>
  69. </ItemTemplate>
  70. <HeaderStyle HorizontalAlign="Center" Width="10%" Height="66px" />
  71. <ItemStyle HorizontalAlign="Center" />
  72. </telerik:GridTemplateColumn>
  73. <telerik:GridBoundColumn HeaderText="繁體標題" DataField="Title_tc" UniqueName="Title_tc">
  74. <HeaderStyle HorizontalAlign="Center" Width="20%" />
  75. <ItemStyle HorizontalAlign="Center" />
  76. </telerik:GridBoundColumn>
  77. <telerik:GridBoundColumn HeaderText="簡體標題" DataField="Title_sc" UniqueName="Title_sc">
  78. <HeaderStyle HorizontalAlign="Center" Width="20%" />
  79. <ItemStyle HorizontalAlign="Center" />
  80. </telerik:GridBoundColumn>
  81. <telerik:GridBoundColumn HeaderText="英文標題" DataField="Title_en" UniqueName="Title_en">
  82. <HeaderStyle HorizontalAlign="Center" Width="20%" />
  83. <ItemStyle HorizontalAlign="Center" />
  84. </telerik:GridBoundColumn>
  85. <telerik:GridBoundColumn HeaderText="日文標題" DataField="Title_jp" UniqueName="Title_jp">
  86. <HeaderStyle HorizontalAlign="Center" Width="20%" />
  87. <ItemStyle HorizontalAlign="Center" />
  88. </telerik:GridBoundColumn>
  89. <telerik:GridTemplateColumn HeaderText="" UniqueName="">
  90. <ItemTemplate>
  91. <asp:Button ID="btnPublish" runat="server" Text="發佈" CommandName="Publish" CommandArgument='<%#Eval("VideoID") %>'
  92. OnClientClick="if(!confirm('是否發佈該視頻?')) return false;" Style="width: 66px;" />
  93. <asp:Button ID="btnCancelPublish" runat="server" Text="取消發佈" CommandName="CancelPublish"
  94. Style="width: 66px;" CommandArgument='<%#Eval("VideoID") %>' OnClientClick="if(!confirm('該視頻是否取消發佈?')) return false;" />
  95. </ItemTemplate>
  96. <HeaderStyle HorizontalAlign="Center" Width="10%" />
  97. <ItemStyle HorizontalAlign="Center" />
  98. </telerik:GridTemplateColumn>
  99. </Columns>
  100. </MasterTableView>
  101. <PagerStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
  102. Font-Underline="False" ForeColor="#336699" Mode="NumericPages" Wrap="True" />
  103. <SelectedItemStyle ForeColor="GreenYellow" />
  104. <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
  105. <Selecting AllowRowSelect="True" />
  106. <Scrolling AllowScroll="true" UseStaticHeaders="true" />
  107. <ClientEvents OnRowDblClick="RowDblClick" />
  108. </ClientSettings>
  109. </telerik:RadGrid>
  110. </div>
  111. <div style="text-align: right; width: 100%; clear: both; border-top: 1px solid #828282;
  112. padding-top: 8px;">
  113. <div style="width: 50px; height: 20px; float: right;">
  114. </div>
  115. <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CurrentPageButtonStyle="FONT-SIZE: 12px;color:red"
  116. FirstPageText="" LastPageText="" NextPageText="下一頁" NumericButtonCount="5" PrevPageText="上一頁"
  117. PrevNextButtonsStyle="font-size:12px" ShowPageIndexBox="never">
  118. </webdiyer:AspNetPager>
  119. </div>
  120. </div>
  121. </div>
  122. <div class="footer" style="clear: both;">
  123. </div>
  124. <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
  125. <AjaxSettings>
  126. <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
  127. <UpdatedControls>
  128. <telerik:AjaxUpdatedControl ControlID="RadMenu1" />
  129. <telerik:AjaxUpdatedControl ControlID="AspNetPager1" />
  130. <telerik:AjaxUpdatedControl ControlID="radGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
  131. </UpdatedControls>
  132. </telerik:AjaxSetting>
  133. <telerik:AjaxSetting AjaxControlID="AspNetPager1">
  134. <UpdatedControls>
  135. <telerik:AjaxUpdatedControl ControlID="RadMenu1" />
  136. <telerik:AjaxUpdatedControl ControlID="AspNetPager1" />
  137. <telerik:AjaxUpdatedControl ControlID="radGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
  138. </UpdatedControls>
  139. </telerik:AjaxSetting>
  140. </AjaxSettings>
  141. </telerik:RadAjaxManager>
  142. <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Width="330px"
  143. Height="100px">
  144. <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>'
  145. style="border: 0px;" />
  146. </telerik:RadAjaxLoadingPanel>
  147. <telerik:RadWindowManager Style="z-index: 900001" ID="RadWindowManager1" runat="server"
  148. Behavior="Close" Modal="true" Skin="Default" VisibleStatusbar="false" ShowContentDuringLoad="false">
  149. </telerik:RadWindowManager>
  150. <telerik:RadCodeBlock runat="server" ID="CodeBlock1">
  151. <script type="text/javascript">
  152. var width = 716;
  153. var height = 380;
  154.  
  155. function OnClientItemClicked(sender, args) {
  156. var itemValue = args.get_item().get_value();
  157. switch (itemValue) {
  158. case "New":
  159. InsertCommand();
  160. break;
  161. case "Edit":
  162. UpdateCommand();
  163. break;
  164. case "Del":
  165. MultiRowDel();
  166. break;
  167. }
  168. }
  169.  
  170. function MultiRowDel() {
  171. arrayArticleID = "";
  172. var items = $find("<%=radGrid1.ClientID %>").get_masterTableView().get_selectedItems();
  173.  
  174. if (items.length <= 0) {
  175. window.radalert('請先選擇一張視頻,再進行刪除操作 !', 330, 100, '資訊');
  176. return false;
  177. }
  178. else {
  179. window.radconfirm('確定要刪除該視頻嗎 ?', confirmCallBackFn, 330, 100, null, "刪除");
  180. }
  181.  
  182. }
  183.  
  184. function confirmCallBackFn(arg) {
  185. if (arg) {
  186. $find("<%=RadAjaxManager1.ClientID %>").ajaxRequest("Delete#");
  187. }
  188. }
  189.  
  190. function MultiRowDelFn(arg) {
  191. if (arg) {
  192. $find("<%=RadAjaxManager1.ClientID %>").ajaxRequest("Delete#" + arrayArticleID)
  193. }
  194. }
  195.  
  196. function InsertCommand() {
  197. var url = "VideoItem.aspx?EditMode=New";
  198. var title = "新增視頻";
  199.  
  200. OpenWin(url, title, width, height, "EditWindow");
  201. }
  202.  
  203. function UpdateCommand() {
  204. var grid = $find("<%=radGrid1.ClientID %>");
  205. var MasterTable = grid.get_masterTableView();
  206. var selectedItems = MasterTable.get_selectedItems();
  207. if (selectedItems.length > 0) {
  208. var row = selectedItems[0];
  209. var strselectid = row.getDataKeyValue("VideoID");
  210. var url = "VideoItem.aspx?VideoID=" + strselectid + "&EditMode=Edit";
  211. var title = "修改視頻";
  212.  
  213. OpenWin(url, title, width, height, "EditWindow");
  214. }
  215. else {
  216. window.radalert('請先選擇一個視頻,再進行修改操作 !', 330, 100, '資訊');
  217. }
  218. }
  219.  
  220. function refreshGrid(arg, EditType) {
  221. if (EditType == "1") {
  222. if (arg == "succeed") {
  223. $find("<%=RadAjaxManager1.ClientID %>").ajaxRequest("New#" + EditType);
  224. }
  225. else {
  226. window.radalert('新增視頻失敗 !', 330, 100, '資訊');
  227. }
  228. }
  229. else if (EditType == "2") {
  230. if (arg == "succeed") {
  231. $find("<%=RadAjaxManager1.ClientID %>").ajaxRequest("Edit#" + EditType);
  232. }
  233. else {
  234. window.radalert('修改視頻失敗 !', 330, 100, '資訊');
  235. }
  236. }
  237. }
  238. function RowDblClick(sender, eventArgs) {
  239. UpdateCommand();
  240. }
  241. </script>
  242. </telerik:RadCodeBlock>
  243. </form>
  244. </body>
  245. </html>

.net code:

  1. Imports AWC.AndyVideosObj.AndyVideosObjEntry
  2. Imports Telerik.Web.UI
  3.  
  4. Public Class Videos
  5. Inherits System.Web.UI.Page
  6.  
  7. Private m_ocolAndyVideosObj As colAndyVideosObj
  8. Private Const intPageSize As Integer = 7
  9.  
  10. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  11. If Not IsPostBack Then
  12. If Session.Item("UserID") Is Nothing Then
  13. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "window.location.href='Login.aspx';", True)
  14. End If
  15.  
  16. AspNetPager1.PageSize = intPageSize
  17. BindData(1)
  18. End If
  19. End Sub
  20.  
  21. Protected Sub AspNetPager1_PageChanged(ByVal sender As Object, ByVal e As EventArgs) Handles AspNetPager1.PageChanged
  22. BindData(AspNetPager1.CurrentPageIndex)
  23. End Sub
  24.  
  25. Sub BindData(ByVal pCurrentPage As Integer)
  26. m_ocolAndyVideosObj = Nothing
  27. Dim intCount As Integer = 0
  28. intCount = clsBllFactory.oAndyVideosObjBLL.GetAndyVideosRecordCount()
  29. If intCount > 0 Then
  30. m_ocolAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideosByPage(intPageSize, pCurrentPage)
  31. AspNetPager1.CurrentPageIndex = pCurrentPage
  32. AspNetPager1.RecordCount = intCount
  33. radGrid1.DataSource = m_ocolAndyVideosObj
  34. radGrid1.DataBind()
  35. Else
  36. AspNetPager1.RecordCount = 0
  37. radGrid1.DataSource = New colAndyVideosObj
  38. radGrid1.DataBind()
  39. End If
  40. End Sub
  41.  
  42. Private Sub Grid_Product_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles radGrid1.ItemDataBound
  43. Dim oclsAndyVideosObj As clsAndyVideosObj = Nothing
  44. Dim imgPic As System.Web.UI.WebControls.Image
  45. Dim btnPublish, btnCancelPublish As System.Web.UI.WebControls.Button
  46.  
  47. If e.Item.ItemType = GridItemType.Item Or e.Item.ItemType = GridItemType.AlternatingItem Then
  48. imgPic = CType(e.Item.FindControl("imgPic"), System.Web.UI.WebControls.Image)
  49. btnPublish = CType(e.Item.FindControl("btnPublish"), System.Web.UI.WebControls.Button)
  50. btnCancelPublish = CType(e.Item.FindControl("btnCancelPublish"), System.Web.UI.WebControls.Button)
  51.  
  52. oclsAndyVideosObj = e.Item.DataItem
  53. If oclsAndyVideosObj IsNot Nothing Then
  54. SetSmallImageUrl(imgPic, Server, oclsAndyVideosObj.Photo, AndyVideoPath, NoPicture, 66, 66)
  55.  
  56. If oclsAndyVideosObj.IsPublish Then
  57. btnCancelPublish.Visible = True
  58. btnPublish.Visible = False
  59. Else
  60. btnCancelPublish.Visible = False
  61. btnPublish.Visible = True
  62. End If
  63. End If
  64. End If
  65. End Sub
  66.  
  67. Protected Sub RadAjaxManager1_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs) Handles RadAjaxManager1.AjaxRequest
  68. Dim strCommand As String = Nothing
  69. Dim strVideoID As String
  70. Dim oclsAndyVideosObj As clsAndyVideosObj
  71. Dim intPage, selectindex As Integer
  72.  
  73. strCommand = e.Argument.Substring(0, e.Argument.IndexOf("#"))
  74. strVideoID = e.Argument.Split("#")(1)
  75. Select Case strCommand
  76. Case "New"
  77. BindData(1)
  78. AspNetPager1.CurrentPageIndex = 0
  79. radGrid1.MasterTableView.CurrentPageIndex = 0
  80. radGrid1.SelectedIndexes.Clear()
  81. radGrid1.SelectedIndexes.Add(0)
  82. Case "Edit"
  83. selectindex = radGrid1.SelectedIndexes(0)
  84. BindData(AspNetPager1.CurrentPageIndex())
  85. radGrid1.SelectedIndexes.Clear()
  86. radGrid1.SelectedIndexes.Add(selectindex)
  87. Case "Delete"
  88. Dim oFile As String = ""
  89. Dim oFile2 As String = ""
  90.  
  91. Dim ocolAndyVideosObj As colAndyVideosObj
  92. ocolAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideosByPage(intPageSize, AspNetPager1.CurrentPageIndex)
  93.  
  94. If radGrid1.SelectedItems.Count <= 0 Then
  95. Return
  96. End If
  97.  
  98. For Each draggedItem As GridDataItem In radGrid1.SelectedItems
  99. strVideoID = draggedItem.GetDataKeyValue("VideoID")
  100. oclsAndyVideosObj = ocolAndyVideosObj.Item(strVideoID)
  101. If oclsAndyVideosObj IsNot Nothing Then
  102. oclsAndyVideosObj.IsDelete = True
  103. oclsAndyVideosObj.Dirty = True
  104.  
  105. oFile = Server.MapPath(AndyVideoPath + oclsAndyVideosObj.Photo)
  106. oFile2 = Server.MapPath(SmallAndyVideoPath + oclsAndyVideosObj.Photo)
  107. End If
  108. Next
  109.  
  110. If clsBllFactory.oAndyVideosObjBLL.ModifyAndyVideos(ocolAndyVideosObj, Nothing) = 1 Then
  111. BindData(1)
  112. AspNetPager1.CurrentPageIndex = 0
  113. radGrid1.MasterTableView.CurrentPageIndex = 0
  114. radGrid1.SelectedIndexes.Clear()
  115. radGrid1.SelectedIndexes.Add(0)
  116.  
  117. If oFile.Length > 0 AndAlso IO.File.Exists(oFile) Then
  118. IO.File.Delete(oFile)
  119. End If
  120.  
  121. If oFile2.Length > 0 AndAlso IO.File.Exists(oFile2) Then
  122. IO.File.Delete(oFile2)
  123. End If
  124. Else
  125. Me.RadAjaxManager1.Alert("操作失敗,請刷新后再試!")
  126. End If
  127. End Select
  128. End Sub
  129.  
  130. Protected Sub radGrid1_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles radGrid1.ItemCommand
  131.  
  132. Try
  133. Dim strVideoID As String
  134. Dim oclsAndyVideosObj As clsAndyVideosObj
  135.  
  136. If e.CommandName = "Publish" Then
  137. strVideoID = e.CommandArgument
  138. oclsAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideos(strVideoID, "")
  139.  
  140. If oclsAndyVideosObj.IsPublish = True Then
  141. Me.RadAjaxManager1.Alert("該視頻已經發佈。")
  142. Exit Sub
  143. End If
  144.  
  145. oclsAndyVideosObj.IsPublish = True
  146. oclsAndyVideosObj.Dirty = True
  147.  
  148. If clsBllFactory.oAndyVideosObjBLL.UpdateAndyVideos(oclsAndyVideosObj, Nothing) = 1 Then
  149. RefreshGrid()
  150. Else
  151. Me.RadAjaxManager1.Alert("視頻發佈失敗。")
  152. End If
  153. ElseIf e.CommandName = "CancelPublish" Then
  154. strVideoID = e.CommandArgument
  155. oclsAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideos(strVideoID, "")
  156.  
  157. If oclsAndyVideosObj.IsPublish = False Then
  158. Me.RadAjaxManager1.Alert("該視頻已經取消發佈。")
  159. Exit Sub
  160. End If
  161.  
  162. oclsAndyVideosObj.IsPublish = False
  163. oclsAndyVideosObj.Dirty = True
  164.  
  165. If clsBllFactory.oAndyVideosObjBLL.UpdateAndyVideos(oclsAndyVideosObj, Nothing) = 1 Then
  166. RefreshGrid()
  167. Else
  168. Me.RadAjaxManager1.Alert("視頻取消發佈失敗。")
  169. End If
  170. End If
  171. Catch ex As Exception
  172. Me.RadAjaxManager1.Alert("系統錯誤,請與我們聯繫。")
  173. End Try
  174. End Sub
  175.  
  176. Private Sub RefreshGrid()
  177. Dim selectindex As Integer
  178. Try
  179. selectindex = radGrid1.SelectedIndexes(0)
  180. BindData(AspNetPager1.CurrentPageIndex())
  181. radGrid1.SelectedIndexes.Clear()
  182. radGrid1.SelectedIndexes.Add(selectindex)
  183. Catch ex As Exception
  184. BindData(AspNetPager1.CurrentPageIndex())
  185. End Try
  186. End Sub
  187.  
  188. End Class

Item Page

Html code :

  1. <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="VideoItem.aspx.vb" Inherits="AwcWeb.VideoItem" %>
  2.  
  3. <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head id="Head1" runat="server">
  7. <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  8. <title></title>
  9. <link href="css/Global.css" rel="stylesheet" type="text/css" />
  10. <script type="text/javascript" src="scripts/RadCommon.js"></script>
  11. <script type="text/javascript" src="scripts/ImageManger.js"></script>
  12. <script>
  13. function clear1() {
  14. document.getElementById("HfUrl").value = "";
  15. var img = document.getElementById("imgPhoto");
  16. img.src = "ImageManager/nophoto_s.jpg";
  17. img.style.width = "66px";
  18. img.style.height = "66px";
  19.  
  20. }
  21.  
  22. </script>
  23. <style>
  24. body
  25. {
  26. overflow: hidden;
  27. }
  28. #table2 tr td
  29. {
  30. text-align: left;
  31. height: 30px;
  32. }
  33. .alignRight
  34. {
  35. text-align: right !important;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <form id="MyForm" runat="server">
  41. <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
  42. </telerik:RadScriptManager>
  43. <div style="width: 700px; clear: both; text-align: center;">
  44. <table id="table2" border="0" cellpadding="0" cellspacing="0" style="border: 0; width: 700px;">
  45. <tr>
  46. <td style="width: 100px; height: 10px; text-align: right;">
  47. </td>
  48. <td style="width: 250px;">
  49. </td>
  50. <td style="width: 100px; text-align: right;">
  51. </td>
  52. <td style="width: 250px;">
  53. </td>
  54. </tr>
  55. <tr>
  56. <td class="alignRight">
  57. 生效日期:
  58. </td>
  59. <td>
  60. <telerik:RadDatePicker ID="tpStartDate" runat="server" Skin="Default" Calendar-EnableShadows="true"
  61. DateInput-DateFormat="yyyy-MM-dd" DateInput-EmptyMessage="請選生效日期" Width="220"
  62. CssClass="inputCSS" />
  63. <span class="redCss">*</span>
  64. <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="tpStartDate"
  65. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  66. </td>
  67. <td class="alignRight">
  68. 圖片:
  69. </td>
  70. <td rowspan="4" style="height: 90px;">
  71. <div id="izImgZoom1" class="ContentImg" style="overflow: hidden; width: 250px; height: 70px;
  72. float: left;">
  73. <table border="0" cellpadding="0" cellspacing="0" style="width: 66px; height: 66px;
  74. float: left;">
  75. <tr align="center" valign="middle">
  76. <td align="center" valign="middle">
  77. <asp:Image ID="imgPhoto" runat="server" CssClass="imgSize" ImageUrl="ImageManager/nophoto_s.jpg" />
  78. </td>
  79. </tr>
  80. </table>
  81. <span style="line-height: 66px; margin-left: 5px; color: Red; font-size: 12px; float: left;">
  82. 建議圖片分辨率:308px * 154px </span>
  83. </div>
  84. <asp:HiddenField ID="HfUrl" runat="server" />
  85. <div style="clear: both; width: 300px; height: 30px; overflow: hidden; padding-top: 10px;">
  86. <telerik:RadUpload ID="RadUpload1" runat="server" ControlObjectsVisibility="ClearButtons"
  87. Localization-Select="Browse" AllowedFileExtensions=".gif,.jpg,.bmp,.jpeg,.png"
  88. InputSize="11" OverwriteExistingFiles="True" ReadOnlyFileInputs="True" MaxFileInputsCount="1"
  89. Font-Overline="False" OnClientClearing="clear1">
  90. <Localization Select="Browse" Clear="Clear" />
  91. </telerik:RadUpload>
  92. </div>
  93. </td>
  94. </tr>
  95. <tr>
  96. <td class="alignRight">
  97. 截止日期:
  98. </td>
  99. <td>
  100. <telerik:RadDatePicker ID="tpExpireDate" runat="server" Skin="Default" Calendar-EnableShadows="true"
  101. DateInput-DateFormat="yyyy-MM-dd" DateInput-EmptyMessage="請選截止日期" Width="220"
  102. CssClass="inputCSS" />
  103. <span class="redCss">*</span>
  104. <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tpExpireDate"
  105. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  106. </td>
  107. <td class="alignRight">
  108. </td>
  109. </tr>
  110. <tr>
  111. <td class="alignRight">
  112. 發佈日期:
  113. </td>
  114. <td>
  115. <telerik:RadDatePicker ID="tpPublishDate" runat="server" Skin="Default" Calendar-EnableShadows="true"
  116. DateInput-DateFormat="yyyy-MM-dd" DateInput-EmptyMessage="請選發佈日期" Width="220"
  117. CssClass="inputCSS" />
  118. <span class="redCss">*</span>
  119. <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="tpPublishDate"
  120. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  121. </td>
  122. <td class="alignRight">
  123. </td>
  124. </tr>
  125. <tr>
  126. <td class="alignRight">
  127. 視頻類型:
  128. </td>
  129. <td>
  130. <asp:DropDownList ID="ddlVideoType" runat="server" Width="100px">
  131. <asp:ListItem Selected="True" Value="1">文件</asp:ListItem>
  132. <asp:ListItem Value="2">視頻流</asp:ListItem>
  133. </asp:DropDownList>
  134. </td>
  135. <td class="alignRight">
  136. </td>
  137. </tr>
  138. <tr>
  139. <td class="alignRight">
  140. 視頻連接:
  141. </td>
  142. <td colspan="3">
  143. <asp:TextBox ID="txtVideo" runat="server" CssClass="inputCSS" Width="541px"></asp:TextBox>
  144. <span class="redCss">*</span>
  145. <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="txtVideo"
  146. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  147. </td>
  148. </tr>
  149. <tr>
  150. <td class="alignRight">
  151. 繁體標題:
  152. </td>
  153. <td>
  154. <asp:TextBox ID="txtTitle_tc" runat="server" CssClass="inputCSS" Width="220px"></asp:TextBox>
  155. <span class="redCss">*</span>
  156. <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtTitle_tc"
  157. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  158. </td>
  159. <td class="alignRight">
  160. 簡體標題:
  161. </td>
  162. <td>
  163. <asp:TextBox ID="txtTitle_sc" runat="server" CssClass="inputCSS" Width="220px"></asp:TextBox>
  164. <span class="redCss">*</span>
  165. <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtTitle_sc"
  166. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  167. </td>
  168. </tr>
  169. <tr>
  170. <td class="alignRight">
  171. 英文標題:
  172. </td>
  173. <td>
  174. <asp:TextBox ID="txtTitle_en" runat="server" CssClass="inputCSS" Width="220px"></asp:TextBox>
  175. <span class="redCss">*</span>
  176. <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="txtTitle_en"
  177. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  178. </td>
  179. <td class="alignRight">
  180. 日語標題:
  181. </td>
  182. <td>
  183. <asp:TextBox ID="txtTitle_jp" runat="server" CssClass="inputCSS" Width="220px"></asp:TextBox>
  184. <span class="redCss">*</span>
  185. <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="txtTitle_jp"
  186. Display="Dynamic" ErrorMessage="" ValidationGroup="SubmitGroup" ForeColor="Red" />
  187. </td>
  188. </tr>
  189. <tr>
  190. <td class="alignRight">
  191. 备注:
  192. </td>
  193. <td colspan="3">
  194. <asp:TextBox ID="txtRemark" runat="server" CssClass="inputCSS" Width="541px"></asp:TextBox>
  195. </td>
  196. </tr>
  197. <tr>
  198. <td colspan="4" style="height: auto; padding-top: 20px; text-align: center">
  199. <asp:Button ID="btnSure" Text="確定" CssClass="buttonStyle btnCss2" ValidationGroup="SubmitGroup"
  200. runat="server" />    
  201. <input type="button" id="btnCancel" class="buttonStyle btnCss2" value="取消" />
  202. </td>
  203. </tr>
  204. </table>
  205. </div>
  206. </form>
  207. </body>
  208. </html>

.net code:

  1. Imports AWC.AndyVideosObj.AndyVideosObjEntry
  2. Imports Telerik.Web.UI
  3. Imports System.Drawing
  4.  
  5. Partial Public Class VideoItem
  6. Inherits System.Web.UI.Page
  7.  
  8. Public Property VideoID() As String
  9. Get
  10. If ViewState("VideoID") Is Nothing Then
  11. Return String.Empty
  12. End If
  13. Return ViewState("VideoID").ToString()
  14. End Get
  15. Set(ByVal value As String)
  16. ViewState("VideoID") = value
  17. End Set
  18. End Property
  19.  
  20. Public Property EditMode() As String
  21. Get
  22. If ViewState("EditMode") Is Nothing Then
  23. Return String.Empty
  24. End If
  25. Return ViewState("EditMode").ToString()
  26. End Get
  27. Set(ByVal value As String)
  28. ViewState("EditMode") = value
  29. End Set
  30. End Property
  31.  
  32. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  33. Dim oclsAndyVideosObj As clsAndyVideosObj
  34. If Session.Item("UserID") Is Nothing Then
  35. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", " CancelEdit();parent.window.location.href='Login.aspx';", True)
  36. End If
  37.  
  38. If IsPostBack = False Then
  39. Dim strEditMode, strVideoID As String
  40.  
  41. strEditMode = Request.QueryString("EditMode")
  42. If strEditMode IsNot Nothing Then
  43. EditMode = strEditMode
  44. Else
  45. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('參數錯誤!'); CancelEdit();", True)
  46. End If
  47.  
  48. If EditMode = "New" Then
  49.  
  50. Else
  51. strVideoID = Request.QueryString("VideoID")
  52. If strVideoID IsNot Nothing Then
  53. VideoID = strVideoID
  54. oclsAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideos(VideoID, "")
  55. If oclsAndyVideosObj IsNot Nothing Then
  56. With oclsAndyVideosObj
  57. txtTitle_tc.Text = .Title_tc
  58. txtTitle_sc.Text = .Title_sc
  59. txtTitle_en.Text = .Title_en
  60. txtTitle_jp.Text = .Title_jp
  61. tpStartDate.SelectedDate = .StartDate
  62. tpExpireDate.SelectedDate = .ExpireDate
  63. tpPublishDate.SelectedDate = .PublishDate
  64. ddlVideoType.SelectedValue = .VideoType
  65. txtVideo.Text = .Video
  66. txtRemark.Text = .Remark
  67.  
  68. HfUrl.Value = .Photo
  69. SetSmallImageUrl(imgPhoto, Server, .Photo, AndyVideoPath, NoPicture, 66, 66)
  70.  
  71. End With
  72. End If
  73. Else
  74. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('參數錯誤!'); CancelEdit();", True)
  75. End If
  76. End If
  77. End If
  78. End Sub
  79.  
  80. Private Sub btnSure_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSure.Click
  81. Dim strEditType As String = ""
  82.  
  83. Dim oclsAndyVideosObj As clsAndyVideosObj
  84. Dim intResult As Integer
  85.  
  86. If EditMode = "New" AndAlso tpStartDate.SelectedDate < Today Then
  87. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('生效日期不能小於今天!');", True)
  88. Exit Sub
  89. End If
  90.  
  91. If tpExpireDate.SelectedDate < tpStartDate.SelectedDate Then
  92. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('截止日期不能小於生效日期!');", True)
  93. Exit Sub
  94. End If
  95.  
  96. If tpPublishDate.SelectedDate < tpStartDate.SelectedDate Then
  97. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('發佈日期不能小於生效日期!');", True)
  98. Exit Sub
  99. End If
  100.  
  101. If tpExpireDate.SelectedDate < tpPublishDate.SelectedDate Then
  102. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('發佈日期不能大於截止日期!');", True)
  103. Exit Sub
  104. End If
  105.  
  106. Try
  107. Dim filename As String = ""
  108. Dim file As UploadedFile
  109. Dim oDirPath As String = ""
  110. Dim oSmallDirPath As String = ""
  111. Dim img As Drawing.Image = Nothing
  112.  
  113. If Me.RadUpload1.UploadedFiles.Count <> 0 Then
  114. oDirPath = Server.MapPath(AndyVideoPath)
  115. If IO.Directory.Exists(oDirPath) = False Then
  116. IO.Directory.CreateDirectory(oDirPath)
  117. End If
  118.  
  119. oSmallDirPath = Server.MapPath(SmallAndyVideoPath)
  120. If IO.Directory.Exists(oSmallDirPath) = False Then
  121. IO.Directory.CreateDirectory(oSmallDirPath)
  122. End If
  123.  
  124. file = RadUpload1.UploadedFiles.Item(0)
  125. If Not [Object].Equals(file, Nothing) Then
  126. Dim oImage As Drawing.Image = Drawing.Image.FromStream(file.InputStream)
  127. If oImage IsNot Nothing Then
  128. If oImage.Width > 2000 OrElse oImage.Height > 2000 Then
  129. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('您的圖片太大,圖片寬高不能超過2000px');", True)
  130. Exit Sub
  131. End If
  132. End If
  133.  
  134. filename = Now.ToString("yyyyMMddHHmmssfff") + file.GetExtension
  135. file.SaveAs(oDirPath + filename, True)
  136.  
  137. img = CType(Drawing.Image.FromStream(file.InputStream), Drawing.Image)
  138. imageProc.MakeThumbnailPhoto(img, oSmallDirPath + filename, 308, 154)
  139.  
  140. HfUrl.Value = filename
  141. End If
  142. End If
  143.  
  144. If EditMode = "New" Then
  145. VideoID = clsBllFactory.oAndyVideosObjBLL.GetObjectID()
  146. oclsAndyVideosObj = New clsAndyVideosObj(VideoID)
  147. oclsAndyVideosObj.IsPublish = False
  148. oclsAndyVideosObj.IsNew = True
  149. Else
  150. oclsAndyVideosObj = clsBllFactory.oAndyVideosObjBLL.GetAndyVideos(VideoID, "")
  151. If oclsAndyVideosObj Is Nothing Then
  152. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "alert('该商品目錄不存在或已被删除 !'); CancelEdit();", True)
  153. Exit Sub
  154. End If
  155. oclsAndyVideosObj.Dirty = True
  156. End If
  157.  
  158. With oclsAndyVideosObj
  159. .Title_tc = txtTitle_tc.Text
  160. .Title_sc = txtTitle_sc.Text
  161. .Title_en = txtTitle_en.Text
  162. .Title_jp = txtTitle_jp.Text
  163. .StartDate = tpStartDate.SelectedDate
  164. .ExpireDate = tpExpireDate.SelectedDate
  165. .PublishDate = tpPublishDate.SelectedDate
  166. .VideoType = ddlVideoType.SelectedValue
  167. .Video = txtVideo.Text
  168. .Remark = txtRemark.Text
  169. .Photo = HfUrl.Value
  170. End With
  171.  
  172. If EditMode = "New" Then
  173. intResult = clsBllFactory.oAndyVideosObjBLL.InsertAndyVideos(oclsAndyVideosObj, Nothing)
  174. strEditType = "1"
  175. Else
  176. intResult = clsBllFactory.oAndyVideosObjBLL.UpdateAndyVideos(oclsAndyVideosObj, Nothing)
  177. strEditType = "2"
  178. End If
  179.  
  180. If intResult = 1 Then
  181. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "CloseAndRebind('succeed','" + strEditType + "');", True)
  182. Else
  183. Page.ClientScript.RegisterStartupScript(Me.GetType, "Message", "CloseAndRebind('fail','" + strEditType + "');", True)
  184. End If
  185. Catch ex As Exception
  186.  
  187. End Try
  188. End Sub
  189.  
  190. End Class

JS Code:

  1. // JScript File
  2. function GetRadWindow() {
  3. var oWindow = null;
  4. if (window.radWindow) {
  5. oWindow = window.radWindow;
  6. }
  7. else if (window.frameElement.radWindow) {
  8. oWindow = window.frameElement.radWindow;
  9. }
  10. return oWindow;
  11. }
  12.  
  13. function CancelEdit() {
  14. GetRadWindow().Close();
  15. }
  16.  
  17. function CloseAndRebind(arg, RowIndex) {
  18. GetRadWindow().Close();
  19. GetRadWindow().BrowserWindow.refreshGrid(arg, RowIndex);
  20. return false;
  21. }
  22.  
  23. function SessionClose() {
  24. GetRadWindow().Close();
  25. GetRadWindow().BrowserWindow.BackLogin();
  26. return false;
  27. }
  28.  
  29. window.onload = function() {
  30. var btnCancel = document.getElementById("btnCancel");
  31. if (btnCancel != null) btnCancel.onclick = CancelEdit;
  32. }
  33.  
  34. var LoadPageURL = ""
  35. function OpenWindow(Purl, Ptitle, PwinWidth, PwinHeight, pWinName) {
  36. var oWindow = window.radopen(Purl + "&rdn=" + Math.random(), pWinName);
  37. oWindow.SetSize(PwinWidth, PwinHeight);
  38. oWindow.SetTitle(Ptitle);
  39. oWindow.set_modal(true);
  40. oWindow.Center();
  41. oWindow.add_close(OnWindowClientClose);
  42. }
  43.  
  44. function OpenWin(Purl, Ptitle, PwinWidth, PwinHeight, pName) {
  45. var oWindow = window.radopen(Purl + "&rmd=" + Math.random(), pName);
  46. oWindow.SetSize(PwinWidth, PwinHeight);
  47. oWindow.SetTitle(Ptitle);
  48. oWindow.Center();
  49. oWindow.add_close(OnWindowClientClose);
  50. }
  51.  
  52. function OnWindowClientClose(sender, eventArgs) {
  53. sender.SetUrl(LoadPageURL);
  54. }
  55.  
  56. function AddLoadHandler(pFunc) {
  57. if (typeof (window.onload) != 'function')
  58. window.onload = pFunc;
  59. else {
  60. var oldFunc = window.onload;
  61. window.onload = function() {
  62. oldFunc();
  63. pFunc();
  64. }
  65. }
  66. }
  67.  
  68. function BackLogin() {
  69. window.location = '';
  70. }
  71.  
  72. function SessionEnd() {
  73. GetRadWindow().Close();
  74. GetRadWindow().BrowserWindow.GotoLogin();
  75. return false;
  76. }
  77.  
  78. function AddClickHandler(btnID, addFunc) {
  79. var btnSure = document.getElementById(btnID);
  80. if (btnSure == null)
  81. return false;
  82. var oldFunc = btnSure.onclick;
  83. if (typeof oldFunc == 'function') {
  84. btnSure.onclick = function() {
  85. var result = oldFunc();
  86. for (var validator in Page_Validators) {
  87.  
  88. var isValidated = Page_Validators[validator].style.display;
  89. if (isValidated == "inline" || isValidated == "") {
  90. return false;
  91. }
  92.  
  93. }
  94. return addFunc();
  95.  
  96. }
  97. }
  98. else {
  99. btnSure.onclick = function() {
  100. return addFunc();
  101. };
  102. }
  103. }
  104.  
  105. function PromptFunction() {
  106. return confirm("你确定要执行此项操作吗?");
  107. }
  108.  
  109. //AddLoadHandler(function()
  110. //{
  111. // AddClickHandler("btnSure",PromptFunction);
  112. //});

  

Telerik RadGrid Demo的更多相关文章

  1. telerik:RadGrid 表格中删除数据

    <telerik:RadGrid OnItemCommand=" Height="490px" Culture="zh-CN" CssClass ...

  2. telerik:RadGrid 在表格中编辑更新数据

    对于 telerik 这个框架 我也不是很熟悉 也是刚刚开始学习  有兴趣的可以去官网看下 https://www.telerik.com/ 啥也不多说 直接上代码 首先是 telerik:RadGr ...

  3. telerik:RadGrid 分组自动展开

    在 MasterTableView 加上 GroupsDefaultExpanded = " true " 即可 自动展开分组下面的子项

  4. Telerik for AJAX RadGrid控件

    作为一名.net小白,今天分享一下telerik知识的学习.熟悉ASP.NET Web Form的都知道Grid View或者是List View等表格控件,所以今天和大家分享一下telerik Ra ...

  5. RadGrid使用技巧:从RadGrid获取绑定的值

    本文主要介绍从RadGrid获取绑定的值,仅适用于Telerik RadControls for asp.net ajax. 获取方式 RadGrid把绑定的值存储在VIewState中,即使View ...

  6. 2013 Visual Studio Magazine读者选择奖界面框架类获奖情况

    2013 Visual Studio Magazine读者选择奖已经正式揭晓了!据了解,截至今年此奖项已经评选了21次,非常值得.NET开发人员信赖和参考.此次评选共有400多个产品角逐28个分类的奖 ...

  7. 利用同一 ASP.NET 的多个代码框架

    2012 年,Microsoft 推出了两个添加到 ASP.NET 工具包的新框架:Web API 和 SignalR. 这两个框架为开发环境带来独特的开发方式,每个框架都有自身的独特之处: Web ...

  8. 《Visual Studio Magazine》2013年读者选择奖—界面框架类

    好消息!2013 Visual Studio Magazine读者选择奖已经正式揭晓了!据了解,截至今年此奖项已经评选了21次,非常值得.NET开发人员信赖和参考.此次评选共有400多个产品角逐28个 ...

  9. 模板列传值到子窗体中,子窗体中多选gridview中checkbox保存数据多项到数据库中

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

随机推荐

  1. java之jar命令详解

    1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件——准确的说, ...

  2. SQLserver中的xp_cmdshell

    shell是用户与操作系统对话的一个接口,通过shell告诉操作系统让系统执行我们的指令 xp_cmdshell在sqlserver中默认是关闭的存在安全隐患. --打开xp_cmdshell ;;R ...

  3. 【转载】 使用Anemometer基于pt-query-digest将MySQL慢查询可视化

    原文地址:使用Anemometer基于pt-query-digest将MySQL慢查询可视化 作者:84223932 本文主要介绍使用Anemometer基于pt-query-digest将MySQL ...

  4. Team Homework #2

    王宇杰,北航计算机学院2011级本科生,学号11061180.本人没有什么特长,典型的死宅一个.学过一点c和java.对于第一次的个人作业就表示亚历山大,希望各位大神不吝分享自己的代码,并做好注释.希 ...

  5. DB天气app冲刺二阶段第六天

    今天干了一件让我有点小激动的事情 就是我感觉我貌似找到了为什么我的项目会闪退了有的时候..但是还不确定.等会会再试试看看到底对不对.好吧其实今天就干了这些事整整一下午调试,找bug,决定从头开始一点一 ...

  6. [搜片神器]服务器SQL2005查询分页语句你理解了么

    在sosobt.com网站准备采用Lucence.net来进行索引处理搜索慢问题的时候,突然发现常用的分页获取数据的row_number也支持不住了,后期查到200多万的时候非常慢(总数据有500万) ...

  7. Understand User's Intent from Speech and Text

    http://research.microsoft.com/en-us/projects/IntentUnderstanding/ Understanding what users like to d ...

  8. php缓存

    APC缓存退出舞台,APCU诞生,OPCACHE升级! 对于php5.5以后的新版本开发,使用apc习惯的开发者可能会发现php.5.5以后找不到了这个组件的更新,尤其是中文phper都找不到合适的资 ...

  9. SVN--从本地检出项目至服务器报错--禁止访问

    错误描述: 原因:这是访问权限限制引起的. 查看/svn/test目录的权限--之前我修改过的 现在添加一个user就好了--这个添加的developer是我之前导入本地项目时已经验证过的,所以再导入 ...

  10. CSS3属性box-shadow使用教程,css3box-shadow

    CSS3的box-shadow属性可以让我们轻松实现图层阴影效果.我们来实战详解一下这个属性. 1. box-shadow属性的浏览器兼容性先来看一个这个属性的浏览器兼容性: Opera: 不知道是从 ...