Thursday, April 11, 2013

GridView CheckBox Alert

Scenario :
In GridView,when One checkBox Selected, the Same Row another CheckBox
has to be selected : 
Following is the code:
----------------------
    <asp:GridView ID="Gv1" runat="server" OnRowDataBound="Gv1_OnRowDataBound"
     OnRowCommand="Gv1_OnRowCommand" AutoGenerateColumns="false"> 
     <Columns>
     <asp:TemplateField>
     <ItemTemplate>
     <asp:CheckBox ID="chk1" runat="server" />
     </ItemTemplate>
     </asp:TemplateField>
     <asp:TemplateField>
     <ItemTemplate>
     <asp:Label ID="lblName" runat="server"></asp:Label>
     </ItemTemplate>
     </asp:TemplateField>
     <asp:TemplateField>
     <ItemTemplate>
     <asp:CheckBox ID="chk2" runat="server" />
     </ItemTemplate>
     </asp:TemplateField>
     </Columns>
     </asp:GridView>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" OnClientClick="return validate();" />
 
----------------------------------------------------------\
Javascript
------------
<script type="text/javascript">
        function validate() {
            var isValid = false;
            var gridView = document.getElementById('Gv1');
            for (var i = 1; i < gridView.rows.length; i++) {
                var inputs = gridView.rows[i].getElementsByTagName('input');
                if (inputs != null) {
                    if (inputs[1].type == "checkbox") {
                        if (inputs[1].checked) {
                            if (inputs[0].checked == false) {
                                alert("Please select atleast one checkbox");
                            }
                            else {
                                isValid = true;
                                return true;
                            }
                            
                        }
                    }
                }
            }
            alert("Please select atleast one checkbox");
            return false;
        }
    </script>


Output:



-----------



GridView_Image

Wednesday, March 27, 2013

Save DateTime in dd/MM/yyyy format

  //this.Text = "22/11/2009";
        string CreatedDate = DateTime.Now.ToString("dd/MM/yyyy");
        string LastUpdatedDate = DateTime.Now.ToString("dd/MM/yyyy");
        string CreatedTime = DateTime.Now.ToString("hh:mm:ss");  //txtStartTime.Text
        string FinalDateTime = CreatedDate + " " + CreatedTime;
        DateTime CreatedDates = DateTime.ParseExact(FinalDateTime, "dd/MM/yyyy hh:mm:ss", null);
        DateTime LastUpdatedDates = DateTime.ParseExact(CreatedDate, "dd/MM/yyyy", null);
        objUserDetail.CreateDate = CreatedDates;
        objUserDetail.LastUpdatedDate = LastUpdatedDates;
        Repository.UserProvider.Save(objUserDetail);
Use the following code for dd/MM/yyyy:
---------------------------------------
string format = "dd/MM/yyyy"; 
DateTime dt = DateTime.ParseExact(dateString, format, provider);
Use the following code for MM/dd/yyyy:
-------------------------------------
string format = "MM/dd/yyyy"; 
DateTime dt = DateTime.ParseExact(dateString, format, provider);

Thursday, March 21, 2013

Asp.Net Xml-Xslt Template

Default.aspx
----------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EmailSend.aspx.cs" Inherits="DUMMY_EmailSend" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="btnSend" runat="server" Text="Email Template" OnClick="btnSend_Click"/>
    </div>
    </form>
</body>
</html>


Default.aspx.cs
-----------------
protected void btnSend_Click(object sender, EventArgs e)
    {
       // WebRegistration regApplicant = new WebRegistration();
        string ImageOutput = "1";
        bool bEmailSent = GenericEmailProvider.SendRealtorRegistrationAcknowledgementEmail(ImageOutput);
    }


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.IO;
/// <summary>
/// Summary description for GenericEmailProvider
/// </summary>
public class GenericEmailProvider
{
    public static bool SendRealtorRegistrationAcknowledgementEmail(string ImageOutput)
    {
        bool bResult = true;
        string WebPageUrl = "http://localhost/TestApp/";
        string xslFileName = HttpContext.Current.Server.MapPath("~/EmailTemplates/XsltTemplates/RealtorsRegistrationAcknowledgement.xslt");
        string xslContent = File.ReadAllText(xslFileName);
        StringBuilder sbHTML = new StringBuilder();
        sbHTML.Append("<Email>");
        if (ImageOutput == "1")
        {
            sbHTML.AppendFormat("<IsUrl>{0}</IsUrl>", "1");
            sbHTML.AppendFormat("<imagepath1>{0}</imagepath1>", "http://www.google.com/Default.aspx?ID=1");
        }
        if (ImageOutput == "0")
        {
            sbHTML.AppendFormat("<IsUrl>{0}</IsUrl>", "0");
            sbHTML.AppendFormat("<imagepath1>{0}</imagepath1>", "http://www.yahoo.com/Default.aspx?ID=1");
        }
        //Test.Mail objMail = new Test.Mail();
        //sbHTML.AppendFormat("<Firstname>{0}</Firstname>", regApplicant.FirstName);
        //bool check = false;
        //sbHTML.AppendFormat("<IsUrlorName>{0}</IsUrlorName>", check ? "1" : "0");
        //sbHTML.AppendFormat("<Lastname>{0}</Lastname>", regApplicant.LastName);
        //sbHTML.AppendFormat("<Reference>{0}</Reference>", regApplicant.AddressId.ToString());
        //sbHTML.AppendFormat("<EmailAddress>{0}</EmailAddress>", regApplicant.Email);
        //sbHTML.AppendFormat("<WebUrl>{0}</WebUrl>", WebPageUrl);
        
        sbHTML.Append("</Email>");
        //objMail.Subject = "test.com - Registration Acknowledgement";
        string transformedEmailText = XslTransformation.TransformXMLtoXsl(sbHTML.ToString(), xslContent);
        //objMail.FromAddress = "noreply@test.com";
        //objMail.To.Add(regApplicant.Email);
        //objMail.Body = transformedEmailText;
        //objMail.SenderName = "noreply@test.com ";
        //try
        //{
        //    objMail.SendEmail(regApplicant.Email, "test.com - Registration Acknowledgement", transformedEmailText);
        //}
        //catch (Exception appError)
        //{
        //    bResult = false;
        //}
        return bResult;
    }
}


XslTransformation.cs
----------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;
using System.Xml.Xsl;
using System.IO;
using System.Xml;
using System.Xml.XPath;
/// <summary>
/// Summary description for XslTransformation
/// </summary>
public class XslTransformation
{
    public static string TransformXMLtoXsl(string xmlDoc, string xslDoc)
    {
        return XslTransformation.TransformXMLtoXsl(xmlDoc, xslDoc, null);
    }
    public static string TransformXMLtoXsl(string xmlDoc, string xslDoc, Dictionary<string, object> xslArgs)
    {
        StringBuilder sbOutput = new StringBuilder();
        try
        {
            XsltArgumentList argList = new XsltArgumentList();
            if (xslArgs != null)
            {
                foreach (KeyValuePair<string, object> de in xslArgs)
                {
                    argList.AddParam(de.Key, string.Empty, de.Value);
                }
            }
            //read xml string
            TextReader trEmail = new StringReader(xmlDoc);
            XmlTextReader xtrEmailXml = new XmlTextReader(trEmail);
            XPathDocument xmlPathDoc = new XPathDocument(xtrEmailXml);
            //read xsl
            TextReader trXsl = new StringReader(xslDoc);
            XmlTextReader xtrXslEmailTemplate = new XmlTextReader(trXsl);
            XslCompiledTransform xslTransform = new XslCompiledTransform();
            xslTransform.Load(xtrXslEmailTemplate);
            //Output stream
            TextWriter twOut = new StringWriter(sbOutput);
            xslTransform.Transform(xmlPathDoc, argList, twOut);
            xslTransform = null;
        }
        catch (Exception error)
        {
            throw new ApplicationException(string.Format("Transformation Error : {0}", error.Message), error);
        }
        return sbOutput.ToString();
    }
}


EmailTemplates/XsltTemplates/RealtorsRegistrationAcknowledgement.xslt
-----------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Domain Authorization Code</title>
        <style type="text/css">            p{ margin-bottom: 12px;            margin-top: 12px;            }            a:link{color:#999;}          </style>
      </head>
      <body>
        <table border="0" cellspacing="0" cellpadding="0" style="width: 100%;">
          <tr>
            <td width="50%">              </td>
            <td style="width: 600px; padding: 20px 15px 0px 15px; background: #ebebeb;">
              <!--MainEmailContent starts here-->
              <table border="0" cellspacing="0" cellpadding="0" style="width: 600px; margin: 20px 0 0 0;                      background: #fff;">
                
                
                <tr>
                  <td>
                    <table width="100%" style="background-color:blue">
                      <tr>
                        <td style="padding: 0 10px 0px; 10px;">
                          <xsl:if test="Email/IsUrl = 0">
                            <xsl:variable name="cname" select="Email/imagepath1"/>
                            <a href="{$cname}">Contact Us</a>
                          </xsl:if>
                          <xsl:if test="Email/IsUrl = 1">
                            <xsl:variable name="cname" select="Email/imagepath1"/>
                            <a href="{$cname}">Contact Us</a>
                          </xsl:if>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
             
              </table>
              <!--Main Email Content Ends -->
            </td>
            <td width="50%">              </td>
          </tr>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>


 



Output:



-----------



 



image

Thursday, November 15, 2012

Telerik Rad Window :- Refresh Parent Window when Child Window Closed.

Default.aspx
------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DUMMY_Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server"> 
    <title></title>                            


</head>

<body>
    <form id="form1" runat="server">
    <div>
     <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />

    <asp:LinkButton ID="lnkbt1" runat="server" Text="Link1" OnClick="lnkbt1_Click"></asp:LinkButton>


    <telerik:RadWindow ID="RadWindow2" runat="server" Height="300px" Width="300px" Left="500"
            EnableShadow="true" Top="300" NavigateUrl="http://localhost:2607/Default2.aspx" VisibleOnPageLoad="false"
            ShowContentDuringLoad="false" />
    </div>
    </form>
</body>
</html>


-----------------------------------------------------
Default.aspx.cs
-------------------
 protected void lnkbt1_Click(object sender, EventArgs e)
    {
        lnkbt1.Text = "Clicked";
        RadWindow2.VisibleOnPageLoad = true;


    }


Default2.aspx
-----------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="DUMMY_Default2" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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


   <script type="text/javascript">
       function GetRadWindow() {
           var oWindow = null;
           if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
           else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz az well) 
           return oWindow;
       }

       function CloseOnReload() {
           //alert("Dialog is about to close itself");
           GetRadWindow().close();
           RefreshParentPage();
       }

       function RefreshParentPage() {
           //alert("Dialog is about to reload parent page");
           GetRadWindow().BrowserWindow.location.reload();
       }

       function RedirectParentPage(newUrl) {
           alert("Dialog is about to redirect parent page to " + newUrl);
           GetRadWindow().BrowserWindow.document.location.href = newUrl;
       }

       function CallFunctionOnParentPage(fnName) {
           alert("Calling the function " + fnName + " defined on the parent page");
           var oWindow = GetRadWindow();
           if (oWindow.BrowserWindow[fnName] && typeof (oWindow.BrowserWindow[fnName]) == "function") {
               oWindow.BrowserWindow[fnName](oWindow);
           }
       }

       function RefreshParentPageWithoutWarning() {
           GetRadWindow().BrowserWindow.document.forms[0].submit();
       } 
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:LinkButton ID="lnk2" runat="server" Text="Close" OnClick="lnk2_Click"></asp:LinkButton>
    </div>
    </form>
</body>
</html>


-------------------------------------------------------------------------
Default2.aspx.cs
-------------------
 protected void lnk2_Click(object sender, EventArgs e)
    {
        Page page = HttpContext.Current.Handler as Page;



        ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", "CloseOnReload();", true);
  
    }