Monday, November 15, 2010

read,write to a text file


private void file_write()
 {
   string path="D:\\Temp\\My Documents\\";           // Parent Directory
   string name=TextBox1.Text;
   string ext=".txt";
   string fname=path+name+ext;
   
   FileInfo file1=new FileInfo(fname);
   
   StreamWriter sw=file1.CreateText();
   sw.WriteLine("This is a demo for writing to a text file");         // Writing a string directly to the file
   sw.WriteLine(TextBox2.Text);  // Writing content read from the textbox in the form 
   sw.Close();
 }

private void file_read()
 {
   string path="D:\\Temp\\My Documents\\";           // Parent Directory
   string name=TextBox1.Text;
   string ext=".txt";
   string fname=path+name+ext;
   string readcontent;
   
   FileInfo file1=new FileInfo(fname);
   
   StreamReader sr=new StreamReader(file1);
   readcontent=sr.ReadToEnd();        // Reading content from the file and storing to a string 
   sr.Close();
   TextBox2.Text=readcontent;                        // Display contents in a textbox in the form
 }
 
private void file_append()
 {
   string path="D:\\Temp\\My Documents\\";           // Parent Directory
   string name=TextBox1.Text;
   string ext=".txt";
   string fname=path+name+ext;
   FileInfo file1=new FileInfo(fname);
   StreamWriter sw=File.AppendText(file1)
   sw.WriteLine("This is a demo for appending text content to a  file");       
                                                                                      // Writing a string directly to the file
   sw.WriteLine(TextBox2.Text);   // Writing content read from the textbox in the form
   sw.Close();
 }       


 There are couple of advantage of LINQ over stored procedures. 
1. Debugging - It is really very hard to debug the Stored procedure but as LINQ is part of .NET, you can use visual studio's debugger to debug the queries. 
2. Deployment - With stored procedures, we need to provide an additional script for stored procedures but with LINQ everything gets complied into single DLL hence deployment becomes easy. 
3. Type Safety - LINQ is type safe, so queries errors are type checked at compile time. It is really good to encounter an error when compiling rather than runtime exception!

Web Forms
ASP.NET MVC
Tooling/designer
Postbacks
Event driven
HTML forms and viewstate
Controls abstraction
3rd party component model
Rapid development
Declarative syntax
Full control over markup
Lightweight views/no Codebehind
Separation of concerns
Testing/TDD
Pluggable view engines
RESTful
No postbacks
No viewstate

Saturday, August 28, 2010

Asp.net Page life cycle

Thursday, July 22, 2010

dynamic datatable

CODE BEHIND

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable dt = getmyDatatable();

            DLAge.DataSource = dt;
            DLAge.DataValueField = dt.Columns[1].ToString();
            DLAge.DataBind();
            DLAge.Items.Insert(0, "Select");

            ChkAddress.DataSource = dt;
            ChkAddress.DataValueField = dt.Columns[2].ToString();
            ChkAddress.DataBind();

            //RBSex.DataSource = dt;
            //RBSex.DataValueField = dt.Columns[3].ToString();
            //RBSex.DataBind();

            LBphone.DataSource = dt;
            LBphone.DataValueField = dt.Columns[3].ToString();
            LBphone.DataBind();

            GridView1.AutoGenerateColumns = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();
       }

    }

    private DataTable getmyDatatable()
    {
        DataTable dt = new DataTable();
        DataColumn dc;
        dc = new DataColumn("Name");
        dt.Columns.Add(dc);
        dc = new DataColumn("Age");
        dt.Columns.Add(dc);
        dc = new DataColumn("Address");
        dt.Columns.Add(dc);
        dc = new DataColumn("Phone");
        dt.Columns.Add(dc);
        //dc = new DataColumn("Sex");
        //dt.Columns.Add(dc);

        dt.Rows.Add("bala", "24", "cbe","9994403569");
        dt.Rows.Add("chendur", "23", "bangalore","9999999999");
        dt.Rows.Add("chchandru", "22", "chennai","888888888");

        return dt;
    }
    protected void LBAdd_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataColumn dc;

        dc = new DataColumn("Name");
        dt.Columns.Add(dc);
        dc = new DataColumn("Age");
        dt.Columns.Add(dc);
        dc = new DataColumn("Address");
        dt.Columns.Add(dc);
        dc = new DataColumn("Phone");
        dt.Columns.Add(dc);
        dc = new DataColumn("Sex");
        dt.Columns.Add(dc);

        string strchklist = "";
        foreach (ListItem li in ChkAddress.Items)
        {
            if (strchklist == "")
            {
                if (li.Selected)
                {
                    strchklist = li.Text;
                }
            }
            else
            {
                if (li.Selected)
                {
                    strchklist += "," + li.Text;
                }
            }
        }

        string strLblist = "";
        foreach (ListItem li in LBphone.Items)
        {
            if (strLblist == "")
            {
                if (li.Selected)
                {
                    strLblist = li.Text;
                }
            }
            else
            {
                if (li.Selected)
                {
                    strLblist += "," + li.Text;
                }
            }
        }
        if (RBMale.Checked == true)
        {
            dt.Rows.Add(TxtName.Text, DLAge.SelectedItem.ToString(), strchklist, strLblist, "Male");
        }
        else
        {
            dt.Rows.Add(TxtName.Text, DLAge.SelectedItem.ToString(), strchklist, strLblist,"Female");
        }
        GridView1.Visible = false;
        GridView2.Visible = true;
        GridView2.AutoGenerateColumns = false;
        GridView2.DataSource = dt;
        GridView2.DataBind();
        ScriptManager.RegisterClientScriptBlock(LBAdd, typeof(LinkButton), "", "clear();", true);
    }

}


ASPX
       


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
  
    <script type="text/javascript" language="javascript" src="JScript.js">  
        </script>
</head>
<body>


    <form id="form1" runat="server">
  <asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
  <asp:UpdatePanel ID="up" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
  <asp:HiddenField ID="Hf" runat="server" />
    <div>
        <asp:TextBox ID="TxtName" runat="server"></asp:TextBox>
        <asp:DropDownList ID="DLAge" runat="server">
        </asp:DropDownList>
        <asp:RadioButton ID="RBMale" runat="server" GroupName="Sex" Checked="true" Text="Male"/>
        <asp:RadioButton ID="RBFemale" runat="server" GroupName="Sex" Text="Female"/>
        <asp:CheckBoxList ID="ChkAddress" runat="server"
          >
        </asp:CheckBoxList>
        <asp:ListBox ID="LBphone" runat="server" SelectionMode="Multiple" ></asp:ListBox>
       <asp:Label ID="ErrorMsg" runat="server" Text=""></asp:Label>
        <asp:LinkButton ID="LBAdd" runat="server" onclick="LBAdd_Click" OnClientClick="return addvalid();">Add</asp:LinkButton>
      
        <asp:GridView ID="GridView1" runat="server">
        <Columns>
        <asp:TemplateField>
        <HeaderTemplate>Name</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Age</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAge" runat="server" Text='<%#Eval("Age") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Address</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAddress" runat="server" Text='<%#Eval("Address") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Phone</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <%--<asp:TemplateField>
        <HeaderTemplate>Sex</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblSex" runat="server" Text='<%#Eval("Sex") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>--%>
      
        </Columns>
        </asp:GridView>
         <asp:GridView ID="GridView2" runat="server" Visible="false">
        <Columns>
        <asp:TemplateField>
        <HeaderTemplate>Name</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Age</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAge" runat="server" Text='<%#Eval("Age") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Address</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAddress" runat="server" Text='<%#Eval("Address") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
        <HeaderTemplate>Phone</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
        <HeaderTemplate>Sex</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblSex" runat="server" Text='<%#Eval("Sex") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
      
        </Columns>
        </asp:GridView>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>
    </form>
</body>
</html>


        
    
JAVASCRIPT
    
    function clear() {
    document.getElementById("TxtName").value = "";
    document.getElementById("DLAge").selectedIndex = 0;
    document.getElementById("ChkAddress_0").checked = false;
    document.getElementById("ChkAddress_1").checked = false;
    document.getElementById("ChkAddress_2").checked = false;
    document.getElementById("LBphone").selectedIndex = -1;
    document.getElementById("RBMale").checked = true;
    document.getElementById("RBFemale").checked = false;
    document.getElementById("ErrorMsg").innerHTML = "";
  
}

function addvalid() {
    if (document.getElementById("TxtName").value == "") {
        document.getElementById("ErrorMsg").innerHTML = "Enter ur Name";
        document.getElementById("TxtName").focus();
        return false;

    }
    if (document.getElementById("DLAge").selectedIndex == 0) {
        document.getElementById("ErrorMsg").innerHTML = "Select ur Age";
        document.getElementById("DLAge").focus();
        return false;

    }
    if (document.getElementById("ChkAddress_0").checked == false &&
        document.getElementById("ChkAddress_1").checked == false &&
        document.getElementById("ChkAddress_2").checked == false) {
        document.getElementById("ErrorMsg").innerHTML = "Select ur Address";
        document.getElementById("ChkAddress").focus();
        return false;

    }
    if (document.getElementById("LBphone").value == "") {
        document.getElementById("ErrorMsg").innerHTML = "Select ur phone number";
        document.getElementById("LBphone").focus();
        return false;

    }
  
    return true;
}