STEP 1: Create a VisualWebPart like QuickLinks
STEP 2: Write a coding in QuickLinksUserControl.ascx
STEP 3:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuickLinksUserControl.ascx.cs" Inherits="VCSB01.INTRANET.VCSBWebPart.QuickLinks.QuickLinksUserControl" %>
<%@ Register Assembly="AjaxControlToolkit, Version=3.0.30512.20315, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"
Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<link href="/_layouts/Styles/VCSB/style.css" rel="stylesheet" type="text/css" />
<link href="/_layouts/Styles/VCSB/Blog.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
function ClearTextboxes() {
$('#<%=txtQuickTitle.ClientID%>').val('');
$('#<%=txtQuickUrl.ClientID%>').val('');
}
function trimstring(ctrl, Key) {
if (Key.charAt(0) == " ") {
document.getElementById(ctrl).value = document.getElementById(ctrl).value.trim();
}
}
</script>
<style type="text/css">
.modalBackground
{
position: absolute;
z-index: 100;
top: 0px;
left: 0px;
background-color: #000;
filter: alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
</style>
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<div class="d_mysite">
<div class="menu_bg_sd">
<div class="menu_left_sd">
</div>
<div class="menu_right_sd">
</div>
<h6>
Quick links</h6>
</div>
<div class="menu_bg_sd_mid">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="menu_bg_sd_mid">
<td class="menu_left_sd_mid" width="2%">
</td>
<td width="85%" class="menu_bg_sd_mid_inner">
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td width="92%" class="edit">
<asp:GridView ID="grdQuickLinks" Width="100%" runat="server" BorderStyle="None" AutoGenerateColumns="False"
GridLines="None" ShowHeader="False" OnRowCommand="grdQuickLinks_RowCommand" OnRowEditing="grdQuickLinks_RowEditing">
<Columns>
<asp:TemplateField>
<ItemStyle Width="85%" CssClass="ql" />
<ItemTemplate>
<%# Eval("Title") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle Width="15%" CssClass="edit" />
<ItemTemplate>
<asp:ImageButton ID="imgbtnedit" runat="server" CommandName="edit" CommandArgument='<%# Eval("ID") %>'
ImageUrl="/_layouts/images/VCSB/note.png" CausesValidation="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</td>
<td class="menu_right_sd_mid" width="3%">
</td>
</tr>
</table>
</div>
<div class="menu_bg_sd_bot">
<div class="menu_left_sd_bot">
</div>
<div class="menu_right_sd_bot">
</div>
</div>
</div>
<div id="quicklinks" class="bg_pop_up" style="display:none";>
<table align="center" border="0" cellpadding="5" cellspacing="0" width="100%">
<tr style="height:40px;">
<td class="bg_pop_uphead" colspan="2">
Quick Links</td>
<td class="bg_pop_uphead">
<asp:ImageButton ID="imgbtnQuickClose" ImageAlign="Right" runat="server" Height="20px" ToolTip="Close"
ImageUrl="/_layouts/images/VCSB/closebtn.png" />
</td>
</tr>
<tr>
<td align="right" valign="top" width="30%">
<span style="color: #FF0000">*</span>
Title</td>
<td align="left" valign="top" width="30%">
<asp:TextBox ID="txtQuickTitle" Width="280px" runat="server" MaxLength="50" onKeyUp="trimstring(this.id,this.value);"></asp:TextBox>
<cc1:FilteredTextBoxExtender ID="flttxtTitle" TargetControlID="txtQuickTitle" InvalidChars="<,>" ValidChars="(,),-, " FilterType="Custom,LowercaseLetters,UppercaseLetters,Numbers" Enabled="True" runat="server">
</cc1:FilteredTextBoxExtender>
<asp:RequiredFieldValidator ID="reqQuickTitle" runat="server" ControlToValidate="txtQuickTitle" ValidationGroup="QuickLinks" ErrorMessage="Please enter the title"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" valign="top">
<span style="color: #FF0000">*</span>
Url</td>
<td align="left" valign="top" >
<asp:TextBox ID="txtQuickUrl" Width="280px" runat="server" MaxLength="50" onKeyUp="trimstring(this.id,this.value);"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqQuickUrl" runat="server" ControlToValidate="txtQuickUrl" ValidationGroup="QuickLinks" ErrorMessage="Please enter the url"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" valign="top">
</td>
<td align="left" valign="top">
<asp:Button ID="btnQuickSubmit" runat="server" CssClass="bg_pop_up_btn" ToolTip="Submit"
ValidationGroup="QuickLinks"
Text="Submit" onclick="btnQuickSubmit_Click1" />
<%--<asp:Button ID="btnQuickClear" runat="server" CssClass="bg_pop_up_btn" ValidationGroup="QuickLinks" ToolTip="Clear"
OnClientClick="javascript:ClearTextboxes();" Text="Clear" />--%>
</td>
</tr>
</table>
</div>
<cc1:ModalPopupExtender ID="mpeQuickLinks" TargetControlID="hdnedit" BackgroundCssClass="modalBackground" PopupControlID="quicklinks" CancelControlID="imgbtnQuickClose" PopupDragHandleControlID="header" runat="server">
</cc1:ModalPopupExtender>
<asp:HiddenField ID="hdnedit" runat="server" />
<asp:HiddenField ID="hdnValue" runat="server" />