So on a textbox I will write how many dropdownlists, textboxes, label etc and the page ia AutoPostBack. But after I choose an item on a gridview, the page ia autopostback and all the data dissapear. I want gridview to be AutoPostBack but how can I make it not to dissapear all the other item I have added from the first textbox?
For more info here is the source code:
Default.aspx
<%# Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 248px;
}
.auto-style2 {
width: 253px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<table style="width:100%;">
<tr>
<td class="auto-style2">
</td>
<td>
</td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder4" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder5" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
</td>
<td> </td>
</tr>
</table>
<br />
</div>
</form>
</body>
</html>
and Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
DropDownList artikulli;
TextBox cmimi;
Label tregoCmimi;
TextBox sasia;
Label cmimiGjithsej;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}
}
you can do as below
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
AddItems();
}
}
private void AddItems()
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}
you don't need OnTextChanged="TextBox1_TextChanged" in your textbox
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
Populate();
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
Populate();
}
void Populate()
{
PlaceHolder1.Controls.Clear();
PlaceHolder2.Controls.Clear();
PlaceHolder3.Controls.Clear();
PlaceHolder4.Controls.Clear();
PlaceHolder5.Controls.Clear();
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}
Related
I have devloped the file uploading into document library in sharepoint 2013 using Managed client object model.
Here iS my upload.aspx
<%# Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication7.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td colspan="2" align="center">
<asp:Label Font-Bold="true" Text="Upload a documents to SharePoint 2013" runat="server" ID="lblSharePoint" />
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<asp:Label ID="lblLocalPath" runat="server" Text="Local Path:"></asp:Label>
</td>
<td>
<asp:FileUpload ID="FileLocalPath" Width="350" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblSharePointURL" runat="server" Text="SharePoint Site URL:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSharePointURL" Width="350" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblLibraryName" runat="server" Text="Library Name:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtLibraryName" Width="350" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
and here is my upload.aspx.cs
using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication7
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public ClientContext SPClientContext { get; set; }
public Web SPWeb { get; set; }
public string SPErrorMsg { get; set; }
protected void btnUpload_Click(object sender, EventArgs e)
{
try
{
string sURL = txtSharePointURL.Text;
string sDocName = string.Empty;
if (!string.IsNullOrWhiteSpace(sURL) && !string.IsNullOrWhiteSpace(txtLibraryName.Text) && (FileLocalPath.HasFile))
{
bool bbConnected = Connect(sURL, "abhishekr", "A123bhishek", "saras");
if (bbConnected)
{
Uri uri = new Uri(sURL);
string sSPSiteRelativeURL = uri.AbsolutePath;
sDocName = UploadFile(FileLocalPath.FileContent, FileLocalPath.FileName, sSPSiteRelativeURL, txtLibraryName.Text);
if (!string.IsNullOrWhiteSpace(sDocName))
{
lblMsg.Text = "The document " + sDocName + " has been uploaded successfully..";
lblMsg.ForeColor = Color.Blue;
}
else
{
lblMsg.Text = SPErrorMsg;
lblMsg.ForeColor = Color.Red;
}
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
}
}
public bool Connect(string SPURL, string SPUserName, string SPPassWord, string SPDomainName)
{
bool bConnected = false;
try
{
SPClientContext = new ClientContext(SPURL);
SPClientContext.Credentials = new NetworkCredential(SPUserName, SPPassWord, SPDomainName);
SPWeb = SPClientContext.Web;
SPClientContext.Load(SPWeb);
SPClientContext.ExecuteQuery();
bConnected = true;
}
catch (Exception ex)
{
bConnected = false;
SPErrorMsg = ex.Message;
Response.Write(ex.Message.ToString());
}
return bConnected;
}
public string UploadFile(Stream fs, string sFileName, string sSPSiteRelativeURL, string sLibraryName)
{
string sDocName = string.Empty;
try
{
if (SPWeb != null)
{
var sFileUrl = String.Format("{0}/{1}/{2}", sSPSiteRelativeURL, sLibraryName, sFileName);
Microsoft.SharePoint.Client.File.SaveBinaryDirect(SPClientContext, sFileUrl, fs, true);
sDocName = sFileName;
}
}
catch (Exception ex)
{
sDocName = string.Empty;
SPErrorMsg = ex.Message;
Response.Write(ex.Message.ToString());
}
return sDocName;
}
}
}
it is working fine when i am uploading small files, it through an error when i uploading large file.
Error:" Maximum request length exceeded "
Please, help me how to resolve issue.
you can define max request length in SharePoint like this:
https://blogs.technet.microsoft.com/sammykailini/2013/11/06/how-to-increase-the-maximum-upload-size-in-sharepoint-2013/
In Central Admin>Application Management>Manage Web Applications> Select the desired web app and click General Settings on the ribbon
In web.config edit httpRuntime Node like this (for 2GB files and unlimited execution):
I have a 2 Dropdownlist outside a repeater (1st ddl will trigger and refresh the content of the repeater, 2nd ddl refresh its list after an item inside the repeater were executed) and a dropdownlist control inside the repeater.i don't have a problem with the 1st dropdownlist but the 2nd dropdownlist when triggered via selectedindexchanged, it also fires up the selectedindexchanged of the dropdownlist inside the repeater. I put up an UpdatePanel on the repeater and on the 2nd dropdownlist but still the error occurs.
How can i trace the step by step execution and also why the selectedindexchanged handler fires up?
Here is the code snippet:
CODE BEHIND:
public partial class NewStyleItem : System.Web.UI.Page
{
protected StyleTemplateManager styleTempMngr = new StyleTemplateManager();
protected StyleFabricationManager styleFabMngr = new StyleFabricationManager();
protected List<ComponentReferenceView> ReferenceLookUpList
{
get
{
return (List<ComponentReferenceView>)ViewState["ReferenceLookUpView"];
}
set
{
ViewState["ReferenceLookUpView"] = value;
}
}
protected List<ComponentReferenceView> ReferenceViewList
{
get
{
return (List<ComponentReferenceView>)ViewState["CompReferenceView"];
}
set
{
ViewState["CompReferenceView"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack == false)
{
LoadBrandList();
ddlGarmentList.Enabled = false;
//ReferenceLookUpList = new List<ComponentReferenceView>();
}
else
{
}
//rptStyleComponents.DataSource = ReferenceLookUpList;
//rptStyleComponents.DataBind();
}
protected void LoadBrandList()
{
BrandManager brandMngr = new BrandManager();
ddlBrandList.Items.Clear();
ddlBrandList.Items.Add(new ListItem { Text = "Select brand", Value = "" });
foreach (Brand item in brandMngr.Brands())
{
ddlBrandList.Items.Add(new ListItem
{
Text = item.BrandDescription,
Value = item.BrandCode
});
}
}
protected void LoadComponentInfo(string BrandCode)
{
if (styleTempMngr.FindTemplateByBrandCode(BrandCode) == true)
{
ReferenceLookUpList = (from StyleComponent i in styleFabMngr.ComponentList
join StyleFabReference x in styleTempMngr.ReferenceList on
i.SectionCode equals x.SectionCode
select new ComponentReferenceView
{
InOrder = x.SortOrder,
IsNeeded = x.IsRequired,
SCode = x.SeriesCode,
SecCode = x.SectionCode,
SecName = i.SectionName,
EntryValue = x.DataCharacter
}).OrderBy(p => p.InOrder).ToList();
ReferenceLookUpList.Where(row => row.SecCode == "BCODE").ToList()
.ForEach(refItem => refItem.EntryValue = ddlBrandList.SelectedValue);
var DistinctList = (from StyleFabReference x in styleTempMngr.ReferenceList.OrderBy(p => p.SortOrder).ToList()
where x.SectionCode != "SPCHAR" && x.SectionCode != "BCODE"
select x.SectionCode).Distinct().ToList();
ReferenceViewList = (from StyleComponent i in styleFabMngr.ComponentList
join x in DistinctList on
i.SectionCode equals x
select new ComponentReferenceView
{
SecCode = x,
SecName = i.SectionName
}).OrderBy(p => p.InOrder).ToList();
}
else
ReferenceViewList = new List<ComponentReferenceView>();
rptStyleComponents.DataSource = ReferenceViewList;
rptStyleComponents.DataBind();
}
protected void LoadGarments(string ApparelCode)
{
if (string.IsNullOrEmpty(ddlBrandList.SelectedValue) == true)
{
ddlGarmentList.SelectedIndex = 0;
ddlGarmentList.Enabled = false;
}
else
{
ddlGarmentList.Enabled = true;
GarmentManager gmMngr = new GarmentManager();
List<Garment> garmentList = new List<Garment>();
garmentList = gmMngr.GetGarmentsByBrand(ddlBrandList.SelectedValue, ApparelCode);
ddlGarmentList.Items.Clear();
ddlGarmentList.Items.Add(new ListItem { Text = "Select garment", Value = "" });
foreach (Garment item in garmentList)
{
ddlGarmentList.Items.Add(new ListItem { Text = item.GarmentDescription, Value = item.GarmentCode });
}
}
}
protected void ddlBrandList_SelectedIndexChanged(object sender, EventArgs e)
{
txtNewStyleNo.Text = string.Empty;
if (string.IsNullOrEmpty(ddlBrandList.SelectedValue) == false)
LoadComponentInfo(ddlBrandList.SelectedValue);
}
[Serializable]
public class ComponentReferenceView
{
public string SCode
{
get;
set;
}
public string SecCode
{
get;
set;
}
public string SecName
{
get;
set;
}
public int InOrder
{
get;
set;
}
public bool IsNeeded
{
get;
set;
}
public string EntryValue
{
get;
set;
}
}
protected void rptStyleComponents_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
}
protected void rptStyleComponents_ItemCreated(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList ddlControl = (DropDownList)e.Item.FindControl("ddlDataSelection");
if (ddlControl != null)
{
ddlControl.AppendDataBoundItems = true;
ddlControl.Items.Add(new ListItem { Text = "Select " + ReferenceViewList[e.Item.ItemIndex].SecName.ToLowerInvariant(), Value = "" });
var itemlist = (from x in styleFabMngr.ComponentRowItems(ReferenceViewList[e.Item.ItemIndex].SecCode).AsEnumerable()
select new ListItem
{
Text = x.Field<string>("col_name"),
Value = x.Field<string>("col_value")
});
ddlControl.Items.AddRange(itemlist.ToArray<ListItem>());
ddlControl.EnableViewState = false;
ddlControl.AutoPostBack = true;
ddlControl.SelectedIndexChanged += new EventHandler(DropDownListSelectedIndexChanged);
}
}
}
protected virtual void DropDownListSelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
RepeaterItem item = (RepeaterItem)ddl.NamingContainer;
ReferenceViewList[item.ItemIndex].EntryValue = ddl.SelectedValue;
ConstructStyleNo();
var Apparelfound = ReferenceViewList.Where(x => x.SecCode == "APCODE" &&
string.IsNullOrEmpty(x.EntryValue) == false).FirstOrDefault();
if (Apparelfound != null)
{
ddlGarmentList.Enabled = true;
LoadGarments(Apparelfound.EntryValue);
}
else
{
ddlGarmentList.Enabled = false;
}
}
private void ConstructStyleNo()
{
foreach (ComponentReferenceView item in ReferenceViewList)
{
ReferenceLookUpList.Where(row => row.SecCode == item.SecCode).ToList()
.ForEach(refItem => refItem.EntryValue = item.EntryValue);
}
string sResult = string.Empty;
var result = (from x in ReferenceLookUpList.OrderBy(y => y.InOrder)
select x.EntryValue);
txtNewStyleNo.Text = string.Empty;
if (result != null)
txtNewStyleNo.Text = String.Join("", result) + "0001";
}
private void ConstructStyleDescription()
{
txtStyleDescription.Text = ddlBrandList.SelectedItem.Text + "-" + ddlGarmentList.SelectedItem.Text;
}
protected void ddlGarmentList_SelectedIndexChanged(object sender, EventArgs e)
{
txtStyleDescription.Text = string.Empty;
if (string.IsNullOrEmpty(ddlGarmentList.SelectedValue) == false)
ConstructStyleDescription();
}
}
ASPX:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:UpdatePanel ID="upnlNewFabrication" runat="server">
<ContentTemplate>
<h1>
New Style Item
</h1>
<br />
<%--<usrCtrl:style_generation ID="stylegen_frm" runat="server">
</usrCtrl:style_generation>--%>
<table>
<tr>
<td>
Brand :
</td>
<td>
<asp:DropDownList ID="ddlBrandList" runat="server"
onselectedindexchanged="ddlBrandList_SelectedIndexChanged"
AutoPostBack="True">
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td>
Generated Style# :
</td>
<td>
<asp:TextBox ID="txtNewStyleNo" runat="server" ReadOnly="true"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Style Description :
</td>
<td>
<asp:TextBox ID="txtStyleDescription" runat="server" ReadOnly="true"></asp:TextBox>
</td>
</tr>
<asp:Repeater ID="rptStyleComponents" runat="server"
onitemdatabound="rptStyleComponents_ItemDataBound"
onitemcreated="rptStyleComponents_ItemCreated"
EnableViewState="True">
<ItemTemplate>
<asp:UpdatePanel ID="upnlComponent" runat="server">
<ContentTemplate>
<tr>
<td>
<asp:Label ID="lblSectionName" runat="server" Text='<%# Eval("SecName")%>' ></asp:Label>
</td>
<td>
<asp:DropDownList ID="ddlDataSelection" runat="server">
</asp:DropDownList>
</td>
</tr>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ddlDataSelection" />
</Triggers>
</asp:UpdatePanel>
</ItemTemplate>
</asp:Repeater>
</table>
<br />
<table>
<tr>
<td colspan="2">Description Items</td>
</tr>
<tr>
<td colspan="4"></td>
</tr>
<tr>
<td>Garment Type:</td>
<td>
<asp:UpdatePanel ID="upGarment" runat="server" >
<ContentTemplate>
<asp:DropDownList ID="ddlGarmentList" runat="server"
AppendDataBoundItems="True" AutoPostBack="True"
onselectedindexchanged="ddlGarmentList_SelectedIndexChanged">
<asp:ListItem Text = "Select garment" Value = ""></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="sdsGarment" runat="server"
ConnectionString="<%$ ConnectionStrings:IRMSConnectionString %>"
SelectCommand="Select * from Garments"></asp:SqlDataSource>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ddlGarmentList" />
</Triggers>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td>Cost Price:</td>
<td>
<asp:TextBox ID="txtCostPrice" runat="server"></asp:TextBox></td>
<td>SRP :</td>
<td><asp:TextBox ID="txtSRP" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Quantity :</td>
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
<td>Week :</td>
<td><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
Background image disappears after using button in postbacktrigger of update panel in asp.net.I have designed registraion form and have placed all controls in update panel.After clicking on submit button,data gets submitted ,the page refreshes and background image dissappears.The values are getting properly inserted in database.
PFB the HTML code for Registration.aspx:-
<%# Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" %>
<%# Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%# Register Src="~/UserControls/FacebookUserControl.ascx" TagName="facebookheader" TagPrefix="Uc1"%>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<style type="text/css">
.auto-style1 {
width: 100%;
}
</style>
<script type="text/javascript">
function HideCtrl(ctrl, timer) {
var ctry_array = ctrl.split(",");
var num = 0, arr_length = ctry_array.length;
while (num < arr_length) {
if (document.getElementById(ctry_array[num])) {
setTimeout('document.getElementById("' + ctry_array[num] + '").style.display = "none";', timer);
}
num += 1;
}
return false;
}
</script>
<script>
$(function () {
// Initialize Backgound Stretcher
$('BODY').bgStretcher({
images: ['images/slide-1.jpg'],
imageWidth: 1600,
imageHeight: 964,
resizeProportionally: true
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<section id="content">
<div class="main-block">
<div class="container_12">
<div class="wrapper">
<table>
<tr>
<td>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="vg1" HeaderText="Fields marked with (*) are required"
ForeColor="Red" CssClass="error" />
</td>
</tr>
<tr>
<td>
<div id="divErrorMess" runat="server" visible="false" class="mess">
<asp:Label ID="lblMessage" runat="server" ForeColor="Red" Visible="False"></asp:Label>
</div>
<div id="divBallon" runat="server" visible="false" class="mess">
<div>
<asp:Label ID="lblMessage2" runat="server" Visible="False" ForeColor="Red"></asp:Label>
</div>
</div>
</td>
</tr>
</table>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="width:358px; border:0;">
<tr>
<td> Full Name</td>
</tr>
<tr>
<td> <asp:TextBox ID="txtFullName" runat="server" placeholder="Enter your Full Name" ValidationGroup="vg1" Width="250px"></asp:TextBox>
<span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvFullName" runat="server" ErrorMessage=""
ControlToValidate="txtFullName" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td> Date Of Birth</td>
</tr>
<tr>
<td> <%--<asp:TextBox ID="txtDateOfBirth" runat="server" placeholder="Enter your Date Of Birth" ValidationGroup="vg1" Width="250px" ClientIDMode="Static">
</asp:TextBox>--%><%-- <span style="color:red">*</span> <asp:CalendarExtender ID="CalendarExtender1" runat="server" Format="MM-dd-yyyy"
TargetControlID="txtDateOfBirth"></asp:CalendarExtender>--%><%-- <asp:RequiredFieldValidator ID="rfvDob" runat="server" ErrorMessage=""
ControlToValidate="txtDateOfBirth" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>--%><asp:DropDownList ID="ddlMonth" runat="server" OnSelectedIndexChanged="ddlMonth_SelectedIndexChanged" placeholder="Month" AutoPostBack="true">
</asp:DropDownList> <span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvMonth"
runat="server" ErrorMessage="*" ControlToValidate="ddlMonth" ForeColor="Red"
SetFocusOnError="True" ValidationGroup="vg1"></asp:RequiredFieldValidator>
<asp:DropDownList ID="ddlDate" runat="server" AutoPostBack="true">
</asp:DropDownList> <span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvDate"
runat="server" ErrorMessage="*" ControlToValidate="ddlDate" ForeColor="Red"
SetFocusOnError="True" ValidationGroup="vg1"></asp:RequiredFieldValidator>
<asp:DropDownList ID="ddlYear" runat="server" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList> <span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvYear" runat="server"
ErrorMessage="*"
ForeColor="Red" SetFocusOnError="True" ValidationGroup="vg1"
ControlToValidate="ddlYear"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td> Phone Number</td>
</tr>
<tr>
<td> <asp:TextBox ID="txtPhoneNumber" runat="server" placeholder="Enter your Phone Number" ValidationGroup="vg1" Width="250px">
</asp:TextBox>
<span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvPhone" runat="server" ErrorMessage=""
ControlToValidate="txtPhoneNumber" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revPhone" runat="server" ErrorMessage="Enter only 10 digit number"
ControlToValidate="txtPhoneNumber" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationExpression="^[0-9]{10}" ValidationGroup="vg1"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td> Email Address</td>
</tr>
<tr>
<td> <asp:TextBox ID="txtEmail" runat="server" placeholder="Enter your Email address" ValidationGroup="vg1" Width="250px">
</asp:TextBox>
<span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage=""
ControlToValidate="txtEmail" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Invalid Email!"
ControlToValidate="txtEmail" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationExpression="\w+([-+.']\w+)*#\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="vg1">
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td> Submit 2 Photos</td>
</tr>
<tr>
<td> <asp:FileUpload ID="FileUpload1" runat="server" Width="250px" />
<span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvPhoto1" runat="server" ErrorMessage=""
ControlToValidate="FileUpload1" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td> <asp:FileUpload ID="FileUpload2" runat="server" Width="250px"/>
<span style="color:red">*</span>
<asp:RequiredFieldValidator ID="rfvPhoto2" runat="server" ErrorMessage=""
ControlToValidate="FileUpload2" Display="None" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="vg1"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td> Terms & Conditions</td>
</tr>
<tr>
<td> <asp:CheckBox ID="chkAgree" runat="server" /> I agree to Terms and Conditions</td>
</tr>
<tr>
<td> <asp:ImageButton ID="btnSubmit" runat="server" ImageUrl="~/images/submit.png" OnClick="btnSubmit_Click" ValidationGroup="vg1" />
<asp:ImageButton ID="btnReset" runat="server" ImageUrl="~/images/reset.png" CausesValidation="False" OnClick="btnReset_Click" />
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlMonth" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="ddlDate" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="ddlYear" EventName="SelectedIndexChanged" />
<asp:PostBackTrigger ControlID="btnSubmit" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<div class="sidebar">
<Uc1:facebookheader ID="fbtag" runat="server" />
</div>
</div>
</section>
<%-- </div> --%>
</form>
</asp:Content>
PFB code for Registration.aspx.cs:
The below code contains data for registration.aspx. In the below i have used dropdownlist to enter date as input and necessary validations are performed for date.I have used arraylist to add months and used for loop to add years.Also i have used CheckLeapYear fn to check leap year.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel.DataAnnotations;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
using System.Net.Mail;
using System.Collections;
public partial class Register : System.Web.UI.Page
{
int year;
string month;
protected void Page_Load(object sender, EventArgs e)
{
//System.Web.UI.HtmlControls.HtmlGenericControl divmain = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("divmain");
//divmain.Attributes.Add("class", "extra-block");
if (!IsPostBack)
{
this.Page.Title = "Register Us With Now to kick start your Career in MatureModelling";
this.Page.MetaDescription =
"MatureModelling connects new faces and models with scouts, international model photo "
+ "shoot and photographers. Casting Directors are now Looking"
+ " For real Models To Front Their Campaigns.";
this.Page.MetaKeywords =
"international photographers, expert model advice";
System.Web.UI.HtmlControls.HtmlGenericControl aRegister = (System.Web.UI.HtmlControls.HtmlGenericControl)Master.FindControl("Register");
aRegister.Attributes.Add("class", "current");
Response.Cache.SetNoStore();
DateTime tnow = DateTime.Now;
ArrayList ayear = new ArrayList();
int i;
for (i = 1970; i <= DateTime.Now.Year; i++)
{
ayear.Add(i);
}
ArrayList amonth = new ArrayList();
amonth.Add("Jan");
amonth.Add("Feb");
amonth.Add("Mar");
amonth.Add("Apr");
amonth.Add("May");
amonth.Add("Jun");
amonth.Add("Jul");
amonth.Add("Aug");
amonth.Add("Sep");
amonth.Add("Oct");
amonth.Add("Nov");
amonth.Add("Dec");
ddlYear.DataSource = ayear;
ddlYear.DataBind();
ddlMonth.DataSource = amonth;
ddlMonth.DataBind();
ddlYear.SelectedValue = tnow.Year.ToString();
ddlMonth.SelectedValue = tnow.Month.ToString();
year = Int32.Parse(ddlYear.SelectedValue);
month = Convert.ToString(ddlMonth.SelectedValue);
BindDays(year, month);
ddlDate.SelectedValue = tnow.Day.ToString();
}
}
#region Button Event
protected void btnSubmit_Click(object sender, ImageClickEventArgs e)
{
lblMessage.Text = "";
string strScript = string.Empty;
string strCtrl = divErrorMess.ClientID;
strScript = "HideCtrl('" + strCtrl + "', '3000')";
try
{
if (chkAgree.Checked)
{
Registration objRegistration = new Registration();
objRegistration.FirstName = txtFullName.Text.Trim().ToString();
//objRegistration.BirthDate = txtDateOfBirth.Text.Trim().ToString();
objRegistration.BirthDate = ddlYear.SelectedItem.Text.ToString()
+ "-" + ddlMonth.SelectedItem.Value.ToString()
+ "-" + ddlDate.SelectedItem.Text.ToString();
objRegistration.EmailId = txtEmail.Text.Trim().ToString();
objRegistration.PhoneNo = txtPhoneNumber.Text.Trim().ToString();
if (FileUpload1.HasFile)
{
objRegistration.Photo1 = DateTime.Now.ToString("ddMMyyyy") + FileUpload1.FileName.ToString();
}
string pathBig = Server.MapPath("~\\ModelPhotos\\" + DateTime.Now.ToString("ddMMyyyy") + FileUpload1.FileName.ToString());
ViewState["pathBig"] = pathBig;
if (File.Exists(pathBig))
{
//File.Delete(pathBig);
FileUpload1.SaveAs(pathBig);
}
else
{
FileUpload1.SaveAs(pathBig);
}
if (FileUpload2.HasFile)
{
objRegistration.Photo2 = DateTime.Now.ToString("ddMMyyyy") + FileUpload2.FileName.ToString();
}
string pathBig1 = Server.MapPath("~\\ModelPhotos\\" + DateTime.Now.ToString("ddMMyyyy")+FileUpload2.FileName.ToString());
ViewState["pathBig1"] = pathBig1;
if (File.Exists(pathBig1))
{
//File.Delete(pathBig1);
FileUpload2.SaveAs(pathBig1);
}
else
{
FileUpload2.SaveAs(pathBig1);
}
if (chkAgree.Checked)
{
objRegistration.IsAgree = "true";
}
else
{
objRegistration.IsAgree = "false";
}
RegistrationOperation objRegisterOperation = new RegistrationOperation();
int k = Convert.ToInt32(objRegisterOperation.InsertRegisterUser(objRegistration));
if (k==0)
{
divErrorMess.Visible = false;
divBallon.Visible = true;
lblMessage2.Visible = true;
lblMessage2.ForeColor = System.Drawing.Color.Green;
lblMessage2.Text = "User Created Successfully!";
lblMessage.Text = string.Empty;
Session["result"] = "insert";
// sendmail();
// sendmailtoadmin();
fnClearControls();
divBallon.Visible = true;
strScript="HideCtrl('"+divBallon.ClientID+"','3000')";
}
else if (k==1)
{
divErrorMess.Visible = true;
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Sorry,Please try again!";
divBallon.Visible = false;
}
else if (k==2)
{
divErrorMess.Visible = true;
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Blue;
lblMessage.Text = "Email Id already exists!";
divBallon.Visible = false;
}
}
else
{
divErrorMess.Visible = true;
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Orange;
lblMessage.Text = "Please accept terms & conditions";
divBallon.Visible = false;
}
}
catch (Exception ex)
{
throw ex;
}
Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), strScript, true);
}
protected void btnReset_Click(object sender, ImageClickEventArgs e)
{
fnClearControls();
divBallon.Visible = false;
divErrorMess.Visible = false;
}
#endregion
#region Private Method
private void fnClearControls()
{
txtFullName.Text = " ";
//txtLastName.Text = "";
txtPhoneNumber.Text = "";
// txtParentsPhoneNumber.Text = "";
txtEmail.Text = "";
chkAgree.Checked = false;
//txtDateOfBirth.Text = "";
ddlDate.SelectedIndex = 0;
ddlMonth.SelectedIndex = 0;
ddlYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
}
public void FillDays()
{
ddlDate.Items.Clear();
//getting numbner of days in selected month & year
int noofdays = DateTime.DaysInMonth(Convert.ToInt32(ddlYear.SelectedValue), Convert.ToInt32(ddlMonth.SelectedValue));
//Fill days
for (int i = 0; i <= noofdays; i++)
{
ddlDate.Items.Add(i.ToString());
}
ddlDate.Items.FindByValue(System.DateTime.Now.Day.ToString()).Selected = true;
}
private bool CheckLeapYear(int year)
{
if ((year%4==0)&&(year%100!=0)||(year%400==0))
return true;
else return false;
}
private void BindDays(int year, string month)
{
int i;
ArrayList aday = new ArrayList();
switch (month)
{
case "Jan":
case "Mar":
case "May":
case "Jul":
case "Aug":
case "Oct":
case "Dec":
for (i = 1; i <= 31; i++)
{
aday.Add(i);
}
break;
case "Feb":
if (CheckLeapYear(year))
{
for (i = 1; i <= 29; i++)
aday.Add(i);
}
else
{
for (i = 1; i <= 28; i++)
aday.Add(i);
}
break;
case "Apr":
case "Jun":
case "Sep":
case "Nov":
for (i = 1; i <= 30; i++)
aday.Add(i);
break;
}
ddlDate.DataSource = aday;
ddlDate.DataBind();
}
#endregion
Following are dropdownlist events adn BindDays fn is used.
#region DDL events
protected void ddlYear_SelectedIndexChanged(object sender, EventArgs e)
{
year = Int32.Parse(ddlYear.SelectedValue);
month = Convert.ToString(ddlMonth.SelectedValue);
BindDays(year, month);
}
Following are dropdownlist events adn BindDays fn is used.
protected void ddlMonth_SelectedIndexChanged(object sender, EventArgs e)
{
year = Int32.Parse(ddlYear.SelectedValue);
month = Convert.ToString(ddlMonth.SelectedValue);
BindDays(year, month);
}
#endregion
}
It looks like you probably just need to call that JavaScript function that initializes your "Background Stretcher" on each UpdatePanel update (rather than just when the DOM loads). Changing that function to this should do the trick:
function pageLoad() {
$('BODY').bgStretcher({
images: ['images/slide-1.jpg'],
imageWidth: 1600,
imageHeight: 964,
resizeProportionally: true
});
}
Notice that I used function pageLoad() { (should be called on each postback, including AJAX partial postbacks) rather than $(function () { (only called once, when the DOM loads).
I want to get values from user control
I tried but loop comes out
Code:
.aspx
<asp:Repeater ID="rpt1" runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="btnSaveVisa" Text="Save" runat="server" OnClick="btnSaveVisa_Click" />
AddVisaUserControl.ascx
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="AddVisaControl.ascx.cs" EnableViewState="false" Inherits="Pyramid.AddVisaControl" %>
<div id="divreg" runat="server">
<table id="tbl" runat="server">
<tr>
<td>
<asp:Label ID="lbl2" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td> Visa Number:</td>
<td><asp:TextBox ID="txtUser" Width="160px" runat="server"/></td>
<td> Country Name:</td>
<td><asp:DropDownList ID="dropCountry" Width="165px" runat="server"></asp:DropDownList></td>
</tr>
<tr>
<td> Type of Visa:</td>
<td><asp:DropDownList ID="dropVisa" Width="165px" runat="server"></asp:DropDownList></td>
<td> Type of Entry:</td>
<td><asp:DropDownList ID="dropEntry" Width="165px" runat="server"></asp:DropDownList></td>
</tr>
<tr>
<td> Expiry Date</td>
<td>
</td>
</tr>
</table>
</div>
.aspx.cs
public void generateControls()
{
for (int i = 0; i < int.Parse(ViewState["ControlCount"].ToString()); i++)
{
Label lbl = new Label();
string count = Convert.ToString(i + 1);
lbl.Text = "Visa" + count;
rpt1.Controls.Add(lbl);
rpt1.Controls.Add(LoadControl("VisaUserControl.ascx"));
rpt1.Controls.Add(new LiteralControl("<BR>"));
}
}
protected void btnAddVisa_Click(object sender, EventArgs e)
{
ViewState["ControlCount"] = int.Parse(ViewState["ControlCount"].ToString()) + 1;
generateControls();
}
//Here is the problem when I read the values from control the loop comes out
private void saveData()
{
for (int i = 0; i < this.rpt1.Controls.Count; i++)
{
if (this.rpt1.Controls[i] is TextBox)
{
TextBox txtserial = (TextBox)this.rpt1.Controls[i];
string value = txtserial.Text;
}
}
}
protected void btnSaveVisa_Click(object sender, EventArgs e)
{
saveData();
}
Any ideas? Thanks in advance
public List<string> NoOfControls
{
get
{
return ViewState["NoOfControls"] == null ? new List<string>() : (List<string>)ViewState["NoOfControls"];
}
set
{
ViewState["NoOfControls"] = value;
}
}
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
GenerateControls();
}
private void GenerateControls()
{
foreach (string i in NoOfControls)
{
var ctrl = (AddVisaUserControl)LoadControl(#"AddVisaUserControl.ascx");
ctrl.ID = i;
this.AddVisaPlaceHolder.Controls.Add(ctrl); // Add in placeholder
}
}
//Adding controls to Place Holder
protected void AddButton_Click(object sender, EventArgs e)
{
List<string> temp = null;
var uc = (AddVisaUserControl)this.LoadControl(#"AddVisaUserControl.ascx");
string id = Guid.NewGuid().ToString();
uc.ID = id;
temp = NoOfControls;
temp.Add(id);
NoOfControls = temp;
AddVisaPlaceHolder.Controls.Add(uc);
}
//Save
protected void Save_Click(object sender, EventArgs e)
{
foreach (var control in AddVisaPlaceHolder.Controls)
{
var usercontrol = control as AddVisaUserControl;
//you can access properties from usercontrol
//Implement save logic here
}
}
Using asp.net and the gridview control with the pager.
How do I add a onclientclick to it, So that it will only page once the onclientclick returns true.
Is this possible as it can be done with a link?
i know I can do this
GridView pager page buttons accessibility
myGridView.Attributes.Add("onClick", "setOKToClose();")
but it addes it to the grid and I want it only added to the pager
Thanks
Convert your pager to template but you will have to make your own logic for showing and managing page index.
Here in a sample code
<PagerTemplate>
<asp:Panel ID="gvpanel" runat="server">
<table cellpadding="3" cellspacing="3" class="style4">
<tr>
<td width="20%">
<asp:Label ID="Label4" runat="server" CssClass="lb" Text="Page "></asp:Label>
<asp:DropDownList ID="ddpage" runat="server" AutoPostBack="True" CssClass="txt"
onselectedindexchanged="ddpage_SelectedIndexChanged">
</asp:DropDownList>
<asp:Label ID="Label5" runat="server" CssClass="lb" Text="of "></asp:Label>
<asp:Label ID="lbltot" runat="server" CssClass="lb" Text="0"></asp:Label>
</td>
<td width="60%">
<table class="style1">
<tr>
<td width="15%">
<asp:LinkButton ID="lbp10" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lbp10_Click">Previous 10</asp:LinkButton>
</td>
<td width="15%">
<asp:LinkButton ID="lbp" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lbp_Click">Previous</asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb1" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">1 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb2" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">2 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb3" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">3 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb4" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">4 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb5" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">5 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb6" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">6 </asp:LinkButton>
</td>
<td >
<asp:LinkButton ID="lb7" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">7 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb8" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">8 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb9" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">9 </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lb10" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lb1_Click">10</asp:LinkButton>
</td>
<td width="15%">
<asp:LinkButton ID="lbn" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lbn_Click">Next</asp:LinkButton>
</td>
<td width="15%">
<asp:LinkButton ID="lbn10" runat="server" CssClass="smalllinkbuttonf"
Enabled="False" onclick="lbn10_Click">Next 10</asp:LinkButton>
</td>
</tr>
</table>
</td>
<td width="20%">
</td>
</tr>
</table>
</asp:Panel>
</PagerTemplate>
Here is the c# code
protected void lbp10_Click(object sender, EventArgs e)
{
GridView1.PageIndex = (GridView1.PageIndex - 10);
bind();
}
protected void lbp_Click(object sender, EventArgs e)
{
GridView1.PageIndex = (GridView1.PageIndex - 1);
bind();
}
protected void lbn_Click(object sender, EventArgs e)
{
GridView1.PageIndex = (GridView1.PageIndex + 1);
bind();
}
protected void lbn10_Click(object sender, EventArgs e)
{
GridView1.PageIndex = (GridView1.PageIndex + 10);
bind();
}
protected void lb1_Click(object sender, EventArgs e)
{
LinkButton lb = (LinkButton)sender;
GridView1.PageIndex = (int.Parse(lb.Text) - 1);
bind();
}
Code for creating the footer
void addfooter(int rcount)
{
if (GridView1.BottomPagerRow == null)
{
return;
}
Panel p = (Panel)GridView1.BottomPagerRow.FindControl("gvpanel");
DropDownList dd = (DropDownList)p.FindControl("ddpage");
for (int i = 0; i < rcount; i++)
{
ListItem li = new ListItem();
li.Text = (i + 1).ToString();
li.Value = (i + 1).ToString();
dd.Items.Add(li);
}
Label lbltot = (Label)p.FindControl("lbltot");
lbltot.Text = GridView1.PageCount.ToString();
dd.SelectedIndex = GridView1.PageIndex;
LinkButton lbp10 = (LinkButton)p.FindControl("lbp10");
lbp10.Enabled = false;
lbp10.CssClass = "smalllinkbuttonfd";
LinkButton lbp = (LinkButton)p.FindControl("lbp");
lbp.Enabled = false;
lbp.CssClass = "smalllinkbuttonfd";
LinkButton lbn10 = (LinkButton)p.FindControl("lbn10");
lbn10.Enabled = false;
LinkButton lbn = (LinkButton)p.FindControl("lbn");
lbn.CssClass = "smalllinkbuttonfd";
lbn.Enabled = false;
lbn10.CssClass = "smalllinkbuttonfd";
int cpage = GridView1.PageIndex + 1;
int totpage = GridView1.PageCount;
if (cpage > 10)
{
lbp10.Enabled = true;
lbp10.CssClass = "smalllinkbuttonf";
}
if (cpage > 1)
{
lbp.Enabled = true;
lbp.CssClass = "smalllinkbuttonf";
}
if (cpage < totpage)
{
lbn.Enabled = true;
lbn.CssClass = "smalllinkbuttonf";
}
if (cpage + 10 < totpage)
{
lbn10.Enabled = true;
lbn10.CssClass = "smalllinkbuttonf";
}
for (int i = 1; i < 11; i++)
{
LinkButton lb = (LinkButton)p.FindControl("lb" + i.ToString());
lb.Enabled = false;
lb.CssClass = "smalllinkbuttonfd";
}
int tstart = cpage / 10;
int lcount = tstart + 10;
//int scount = tstart - 10;
int cnt = 1;
for (int i = (tstart * 10); i <= ((tstart * 10) + 10); i++)
{
if (cnt > 10)
{
return;
} if ((i + 1) > totpage)
{
LinkButton lb = (LinkButton)p.FindControl("lb" + cnt.ToString());
lb.Enabled = false;
lb.Text = (i + 1).ToString();
lb.CssClass = "smalllinkbuttonfd";
cnt++;
}
else
{
if ((i + 1) == cpage)
{
LinkButton lb = (LinkButton)p.FindControl("lb" + cnt.ToString());
lb.Enabled = false;
lb.Text = (i + 1).ToString();
lb.CssClass = "smalllinkbuttonfd";
cnt++;
}
else
{
LinkButton lb = (LinkButton)p.FindControl("lb" + cnt.ToString());
lb.Enabled = true;
lb.Text = (i + 1).ToString();
lb.CssClass = "smalllinkbuttonf";
cnt++;
}
}
}
}
Onlink button now you can add onclientclick
This link has a correct answer combined with this answer.
Be sure to add a <asp:ScriptManager runat="server" /> tag in your document. Add the javascript in the page header section.
function pageLoad(sender, args) {
//Your jquery code
}
Excellent reference can be found in $(document).ready() and pageLoad() are not the same!
Cheers!
add to GridView RowDataBound
If e.Row.RowType = DataControlRowType.Pager Then
e.Row.Attributes.Add("onclick", "js_function()")
End If