Commit Contribution from Helicon
Includes: - complete re-write of Web Application Gallery - Addition of Web PI Installer in Server module
This commit is contained in:
parent
3b81883a25
commit
a2beec7fe4
80 changed files with 9236 additions and 1762 deletions
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddFeed.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="cmdDeleteFeed.AlternateText" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="cmdDeleteFeed.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Delete item?');</value>
|
||||
</data>
|
||||
<data name="gvFeeds.Empty" xml:space="preserve">
|
||||
<value>The list is empty.</value>
|
||||
</data>
|
||||
<data name="Item.Text" xml:space="preserve">
|
||||
<value>Additional Name Server:</value>
|
||||
</data>
|
||||
<data name="Item0.Text" xml:space="preserve">
|
||||
<value>Primary Name Server:</value>
|
||||
</data>
|
||||
<data name="Item1.Text" xml:space="preserve">
|
||||
<value>Secondary Name Server:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,184 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public abstract class DomainListControlBase : WebsitePanelControlBase
|
||||
{
|
||||
# region Properties
|
||||
|
||||
protected abstract Button AddButton { get; }
|
||||
protected abstract GridView Grid { get; }
|
||||
|
||||
public Boolean DisplayNames
|
||||
{
|
||||
get { return Grid.Columns[ 0 ].Visible; }
|
||||
set { Grid.Columns[ 0 ].Visible = value; }
|
||||
}
|
||||
|
||||
|
||||
public String Value
|
||||
{
|
||||
get
|
||||
{
|
||||
var items = CollectFormData( false );
|
||||
return String.Join( ";", items.ToArray() );
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
var items = new List<String>();
|
||||
if ( !String.IsNullOrEmpty( value ) )
|
||||
{
|
||||
var parts = value.Split( ';' );
|
||||
items.AddRange( from part in parts where part.Trim() != "" select part.Trim() );
|
||||
}
|
||||
|
||||
// save items
|
||||
_loaded_items = items.ToArray();
|
||||
|
||||
if ( IsPostBack )
|
||||
{
|
||||
BindItems( _loaded_items );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# endregion
|
||||
|
||||
|
||||
protected void Page_Load( Object sender, EventArgs e )
|
||||
{
|
||||
if ( !IsPostBack )
|
||||
{
|
||||
BindItems( _loaded_items ); // empty list
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void BindItems( IEnumerable items )
|
||||
{
|
||||
Grid.DataSource = items;
|
||||
Grid.DataBind();
|
||||
}
|
||||
|
||||
|
||||
public List<String> CollectFormData( Boolean include_empty )
|
||||
{
|
||||
var items = new List<String>();
|
||||
foreach ( GridViewRow row in Grid.Rows )
|
||||
{
|
||||
var txt_name = (TextBox)row.FindControl( _txt_control_name );
|
||||
var val = txt_name.Text.Trim();
|
||||
|
||||
if ( include_empty || "" != val )
|
||||
{
|
||||
items.Add( val );
|
||||
}
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
|
||||
# region Events
|
||||
|
||||
protected void BtnAddClick( Object sender, EventArgs e)
|
||||
{
|
||||
var items = CollectFormData( true );
|
||||
|
||||
// add empty string
|
||||
items.Add( "" );
|
||||
|
||||
// bind items
|
||||
BindItems( items.ToArray() );
|
||||
}
|
||||
|
||||
|
||||
protected void ListRowCommand( Object sender, GridViewCommandEventArgs e )
|
||||
{
|
||||
if ( "delete_item" != e.CommandName )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var items = CollectFormData(true);
|
||||
|
||||
// remove error
|
||||
items.RemoveAt( Utils.ParseInt( e.CommandArgument, 0 ) );
|
||||
|
||||
// bind items
|
||||
BindItems(items.ToArray());
|
||||
}
|
||||
|
||||
|
||||
protected void ListRowDataBound( Object sender, GridViewRowEventArgs e )
|
||||
{
|
||||
var lbl_name = (Label)e.Row.FindControl( _lbl_control_name );
|
||||
var txt_name = (TextBox)e.Row.FindControl( _txt_control_name );
|
||||
var cmd_delete = (ImageButton)e.Row.FindControl( _delete_control_name );
|
||||
|
||||
if ( null == lbl_name )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var val = (String)e.Row.DataItem;
|
||||
txt_name.Text = val;
|
||||
|
||||
var pos = ( e.Row.RowIndex < 2 )
|
||||
? e.Row.RowIndex.ToString( CultureInfo.InvariantCulture )
|
||||
: "";
|
||||
lbl_name.Text = GetLocalizedString( "Item" + pos + ".Text" );
|
||||
|
||||
cmd_delete.CommandArgument = e.Row.RowIndex.ToString( CultureInfo.InvariantCulture );
|
||||
}
|
||||
|
||||
# endregion
|
||||
|
||||
|
||||
# region Fields
|
||||
|
||||
protected String[] _loaded_items = new String[] {};
|
||||
|
||||
protected String _txt_control_name;
|
||||
protected String _lbl_control_name;
|
||||
protected String _delete_control_name;
|
||||
|
||||
# endregion
|
||||
}
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
<div style="width:400px;">
|
||||
<div class="FormButtonsBar">
|
||||
<asp:Button id="btnAddDomain" runat="server" meta:resourcekey="btnAddDomain" Text="Add"
|
||||
CssClass="Button2" CausesValidation="false" OnClick="btnAddDomain_Click"/>
|
||||
CssClass="Button2" CausesValidation="false" OnClick="BtnAddClick"/>
|
||||
</div>
|
||||
|
||||
<asp:GridView id="gvDomains" Runat="server" AutoGenerateColumns="False"
|
||||
CssSelectorClass="NormalGridView"
|
||||
OnRowCommand="gvDomains_RowCommand" OnRowDataBound="gvDomains_RowDataBound"
|
||||
OnRowCommand="ListRowCommand" OnRowDataBound="ListRowDataBound"
|
||||
EmptyDataText="gvDomains" ShowHeader="False">
|
||||
<columns>
|
||||
<asp:TemplateField HeaderText="gvDomainsLabel" ItemStyle-Wrap="false">
|
||||
|
|
|
@ -26,134 +26,29 @@
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class EditDomainsList : WebsitePanelControlBase
|
||||
public partial class EditDomainsList : DomainListControlBase
|
||||
{
|
||||
public bool DisplayNames
|
||||
public EditDomainsList()
|
||||
{
|
||||
get { return gvDomains.Columns[0].Visible; }
|
||||
set { gvDomains.Columns[0].Visible = value; }
|
||||
_txt_control_name = "txtDomainName";
|
||||
_lbl_control_name = "lblDomainName";
|
||||
_delete_control_name = "cmdDeleteDomain";
|
||||
}
|
||||
|
||||
public string Value
|
||||
|
||||
protected override Button AddButton
|
||||
{
|
||||
get { return GetDomainsValue(); }
|
||||
set { SetDomainsValue(value); }
|
||||
get { return btnAddDomain; }
|
||||
}
|
||||
|
||||
private string GetDomainsValue()
|
||||
|
||||
protected override GridView Grid
|
||||
{
|
||||
List<string> items = CollectFormData(false);
|
||||
return String.Join(";", items.ToArray());
|
||||
}
|
||||
|
||||
private void SetDomainsValue(string s)
|
||||
{
|
||||
List<string> items = new List<string>();
|
||||
if (!String.IsNullOrEmpty(s))
|
||||
{
|
||||
string[] parts = s.Split(';');
|
||||
foreach (string part in parts)
|
||||
{
|
||||
if (part.Trim() != "")
|
||||
items.Add(part.Trim());
|
||||
}
|
||||
}
|
||||
|
||||
// save items
|
||||
loadItems = items.ToArray();
|
||||
|
||||
if (IsPostBack)
|
||||
{
|
||||
BindItems(loadItems);
|
||||
}
|
||||
}
|
||||
|
||||
private string[] loadItems = new string[] { };
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindItems(loadItems); // empty list
|
||||
}
|
||||
}
|
||||
|
||||
private void BindItems(string[] items)
|
||||
{
|
||||
gvDomains.DataSource = items;
|
||||
gvDomains.DataBind();
|
||||
}
|
||||
|
||||
public List<string> CollectFormData(bool includeEmpty)
|
||||
{
|
||||
List<string> items = new List<string>();
|
||||
foreach (GridViewRow row in gvDomains.Rows)
|
||||
{
|
||||
TextBox txtDomainName = (TextBox)row.FindControl("txtDomainName");
|
||||
string val = txtDomainName.Text.Trim();
|
||||
|
||||
if (includeEmpty || val != "")
|
||||
items.Add(val);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
protected void btnAddDomain_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<string> items = CollectFormData(true);
|
||||
|
||||
// add empty string
|
||||
items.Add("");
|
||||
|
||||
// bind items
|
||||
BindItems(items.ToArray());
|
||||
}
|
||||
|
||||
protected void gvDomains_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "delete_item")
|
||||
{
|
||||
List<string> items = CollectFormData(true);
|
||||
|
||||
// remove error
|
||||
items.RemoveAt(Utils.ParseInt((string)e.CommandArgument, 0));
|
||||
|
||||
// bind items
|
||||
BindItems(items.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvDomains_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
Label lblDomainName = (Label)e.Row.FindControl("lblDomainName");
|
||||
TextBox txtDomainName = (TextBox)e.Row.FindControl("txtDomainName");
|
||||
ImageButton cmdDeleteDomain = (ImageButton)e.Row.FindControl("cmdDeleteDomain");
|
||||
|
||||
if (lblDomainName != null)
|
||||
{
|
||||
string val = (string)e.Row.DataItem;
|
||||
txtDomainName.Text = val;
|
||||
|
||||
string pos = (e.Row.RowIndex < 2) ? e.Row.RowIndex.ToString() : "";
|
||||
lblDomainName.Text = GetLocalizedString("Item" + pos + ".Text");
|
||||
|
||||
cmdDeleteDomain.CommandArgument = e.Row.RowIndex.ToString();
|
||||
}
|
||||
get { return gvDomains; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,62 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class EditDomainsList {
|
||||
protected System.Web.UI.WebControls.Button btnAddDomain;
|
||||
protected System.Web.UI.WebControls.GridView gvDomains;
|
||||
|
||||
/// <summary>
|
||||
/// btnAddDomain control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAddDomain;
|
||||
|
||||
/// <summary>
|
||||
/// gvDomains control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvDomains;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EditFeedsList.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.EditFeedsList" %>
|
||||
<div style="width:100%;">
|
||||
<div class="FormButtonsBar">
|
||||
<asp:Button id="btnAddFeed" runat="server" meta:resourcekey="btnAddFeed" Text="Add"
|
||||
CssClass="Button2" CausesValidation="false" OnClick="BtnAddClick"/>
|
||||
</div>
|
||||
|
||||
<asp:GridView id="gvFeeds" Runat="server" AutoGenerateColumns="False"
|
||||
CssSelectorClass="NormalGridView"
|
||||
OnRowCommand="ListRowCommand" OnRowDataBound="ListRowDataBound"
|
||||
EmptyDataText="gvFeeds" ShowHeader="False">
|
||||
<columns>
|
||||
<asp:TemplateField HeaderText="gvFeedsLabel" ItemStyle-Wrap="false">
|
||||
<itemtemplate>
|
||||
<asp:Label id="lblFeedName" Runat="server"></asp:Label>
|
||||
</itemtemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvFeedsName" ItemStyle-Width="100%">
|
||||
<itemtemplate>
|
||||
<asp:TextBox id="txtFeedName" Runat="server" Width="95%" CssClass="NormalTextBox">
|
||||
</asp:TextBox>
|
||||
<asp:RegularExpressionValidator id="valCorrectFeedName" runat="server" CssClass="NormalBold"
|
||||
ValidationExpression="^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$"
|
||||
ErrorMessage=" *" ControlToValidate="txtFeedName" Display="Dynamic"></asp:RegularExpressionValidator>
|
||||
</itemtemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<itemtemplate>
|
||||
<asp:ImageButton ID="cmdDeleteFeed" runat="server" SkinID="DeleteSmall"
|
||||
CommandName="delete_item" CausesValidation="false"
|
||||
meta:resourcekey="cmdDeleteFeed"></asp:ImageButton>
|
||||
</itemtemplate>
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:TemplateField>
|
||||
</columns>
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
|
@ -0,0 +1,54 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class EditFeedsList : DomainListControlBase
|
||||
{
|
||||
public EditFeedsList()
|
||||
{
|
||||
_txt_control_name = "txtFeedName";
|
||||
_lbl_control_name = "lblFeedName";
|
||||
_delete_control_name = "cmdDeleteFeed";
|
||||
}
|
||||
|
||||
|
||||
protected override Button AddButton
|
||||
{
|
||||
get { return btnAddFeed; }
|
||||
}
|
||||
|
||||
|
||||
protected override GridView Grid
|
||||
{
|
||||
get { return gvFeeds; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class EditFeedsList {
|
||||
|
||||
/// <summary>
|
||||
/// btnAddFeed control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAddFeed;
|
||||
|
||||
/// <summary>
|
||||
/// gvFeeds control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvFeeds;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue