Zeki AKDOĞAN - Kişisel Web Sitesi Ana Sayfa | Fotoğraflarım | RSS RSS | İletişim

XML kullanarak gridview'de insert,update,delete işlemleri


 XML kodları,

<?xml version="1.0" standalone="yes"?>
<
comments><comment>
<
author>1Ahmet</author>
<
email>ahmet@gmail.com</email>
<
text>sdsdsd</text>
<
date>08.02.2010</date>
<
path>07.jpg</path>
<
approve>true</approve>
</
comment>

HTML kodları

<asp:GridView ID="gvitems" runat="server" OnRowEditing="Editdata" OnPageIndexChanging="pageddata"
        OnRowDeleting="Deletedata" OnRowUpdating="Updatedata" OnRowCancelingEdit="Canceldata"
        PageSize="10" AllowPaging="True" CellPadding="4" ForeColor="#333333" AutoGenerateColumns="False"
        Width="100%" GridLines="None" OnRowDataBound="gvitems_RowDataBound">
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <PagerSettings Position="Bottom" />
        <FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
        <EditRowStyle BackColor="#999999" />
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    Row
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:Label ID="lblRowNumber" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Author
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("author") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox class="textbox" ID="txtauthor" runat="server" Text='<%#Eval("author") %>' />
                    <asp:RequiredFieldValidator ID="rfvAuthor" runat="server" ControlToValidate="txtauthor"
                        ValidationGroup="comments" ErrorMessage="Author empty.">*</asp:RequiredFieldValidator>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Email
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("email") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox class="textbox" ID="txtemail" runat="server" Text='<%#Eval("email") %>' />
                    <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtemail"
                        ValidationGroup="comments" ErrorMessage="Email empty.">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Email format."
                        ControlToValidate="txtemail" ValidationGroup="comments" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Text
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("text") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox class="textbox" Rows="15" Columns="50" ID="txttext" runat="server" TextMode="MultiLine"
                        Text='<%#Eval("text") %>' />
                    <asp:RequiredFieldValidator ID="rfvText" runat="server" ControlToValidate="txttext"
                        ValidationGroup="comments" ErrorMessage="Text empty.">*</asp:RequiredFieldValidator>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Date
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("date") %>
                </ItemTemplate>
                <EditItemTemplate>
                    Time:
                    <asp:TextBox class="textbox" ID="txtTime" runat="server" Text='<%# Convert.ToDateTime(Eval("date").ToString()).ToShortTimeString() %>' /><br />
                    Date:
                    <asp:TextBox class="textbox" ID="txtDate" runat="server" Text='<%# Convert.ToDateTime(Eval("date").ToString()).ToShortDateString() %>' />
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Path
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("path") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox class="textbox" ID="txtpath" runat="server" Text='<%#Eval("path") %>' />
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    Approve
                </HeaderTemplate>
                <ItemTemplate>
                    <%#Eval("approve") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:DropDownList ID="drpApprove" runat="server">
                        <asp:ListItem Value="true">True</asp:ListItem>
                        <asp:ListItem Value="false">False</asp:ListItem>
                    </asp:DropDownList>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button class="button" ID="btnEdit" runat="server" CommandName="Edit" Text="Düzenle" />
                    <asp:Button class="button" ID="btnDelete" runat="server" CommandName="Delete" Text="Sil"
                        OnClientClick="javascript:return confirm('Silmek istediğinizden eminmisiniz?')" />
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:Button class="button" ValidationGroup="comments" ID="btnUpdate" runat="server"
                        CommandName="Update" Text="Güncelle" />
                    <asp:Button class="button" ID="btnCancel" runat="server" CommandName="Cancel" Text="İptal" />
                </EditItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <hr style="height: 15; text-align: left; color: #FF0000; width: 100%" />
    <div>
        <table>
            <tr>
                <td colspan="2" align="center">
                    <strong>NEW</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Author :</strong>
                </td>
                <td>
                    <asp:TextBox class="textbox" ID="txtNewAuthor" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvNewAuthor" runat="server" ControlToValidate="txtNewAuthor"
                        ValidationGroup="new" ErrorMessage="Author empty.">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Email :</strong>
                </td>
                <td>
                    <asp:TextBox class="textbox" ID="txtNewEmail" runat="server" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtNewEmail"
                        ValidationGroup="new" ErrorMessage="Email empty.">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Email format."
                        ControlToValidate="txtNewEmail" ValidationGroup="new" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Text :</strong>
                </td>
                <td>
                    <asp:TextBox class="textbox" ID="txtNewText" Rows="15" Columns="50" runat="server"
                        TextMode="MultiLine" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtNewText"
                        ValidationGroup="new" ErrorMessage="Text empty.">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Date :</strong>
                </td>
                <td>
                    <asp:TextBox class="textbox" ID="txtNewDate" runat="server" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtNewDate"
                        ValidationGroup="new" ErrorMessage="Date empty.">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Path :</strong>
                </td>
                <td>
                    <asp:TextBox class="textbox" ID="txtNewPath" runat="server" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtNewPath"
                        ValidationGroup="new" ErrorMessage="Path empty.">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <strong>Approve :</strong>
                </td>
                <td>
                    <asp:DropDownList ID="drpApprove" runat="server">
                        <asp:ListItem Value="true">True</asp:ListItem>
                        <asp:ListItem Value="false">False</asp:ListItem>
                    </asp:DropDownList>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtNewPath"
                        ValidationGroup="new" ErrorMessage="Path empty.">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Button class="button" ValidationGroup="new" ID="btnAddComment" runat="server"
                        Text="Kaydet" OnClick="btnAddComment_Click" />
                </td>
            </tr>
        </table>
    </div>

Code Behind kısmı

void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack)
{
GetData();
}
} 

void GetData()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(
"tempcomments.xml"));
gvitems.DataSource = ds;
gvitems.DataBind();
} protected void Editdata(object s, GridViewEditEventArgs e)

{
gvitems.EditIndex = e.NewEditIndex;
GetData();
}
protected void Deletedata(object s, GridViewDeleteEventArgs e)
{
GetData();
DataSet ds = gvitems.DataSource as DataSet;
ds.Tables[0].Rows[gvitems.Rows[e.RowIndex].DataItemIndex].Delete();
ds.WriteXml(Server.MapPath(
"tempcomments.xml"));
GetData();
} 

protected void Canceldata(object s, GridViewCancelEditEventArgs e)
{
gvitems.EditIndex = -1;
GetData();
}
protected void Updatedata(object s, GridViewUpdateEventArgs e)
{
int i = e.RowIndex;
string author = (gvitems.Rows[e.RowIndex].FindControl("txtauthor") as TextBox).Text;
string email = (gvitems.Rows[e.RowIndex].FindControl("txtemail") as TextBox).Text;
string text = (gvitems.Rows[e.RowIndex].FindControl("txttext") as TextBox).Text;
string date = (gvitems.Rows[e.RowIndex].FindControl("txtdate") as TextBox).Text;
string path = (gvitems.Rows[e.RowIndex].FindControl("txtpath") as TextBox).Text;
string approve = (gvitems.Rows[e.RowIndex].FindControl("drpApprove") as DropDownList).SelectedValue;
gvitems.EditIndex = -1;
GetData();
DataSet ds = (DataSet)gvitems.DataSource;
ds.Tables[0].Rows[i][
"author"] = author;
ds.Tables[0].Rows[i][
"email"] = email;
ds.Tables[0].Rows[i][
"text"] = text;
ds.Tables[0].Rows[i][
"date"] = date;
ds.Tables[0].Rows[i][
"path"] = path;
ds.Tables[0].Rows[i][
"approve"] = approve;
ds.WriteXml(Server.MapPath(
"tempcomments.xml"));
GetData();
} 
 

protected void pageddata(object s, GridViewPageEventArgs e)
{
gvitems.PageIndex = e.NewPageIndex;
GetData();
}
protected void btnAddComment_Click(object sender, EventArgs e)
{
GetData();
DataSet ds = gvitems.DataSource as DataSet;
DataRow dr = ds.Tables[0].NewRow();
dr[
"author"] = txtNewAuthor.Text;
dr[
"email"] = txtNewEmail.Text;
dr[
"text"] = txtNewText.Text;
dr[
"date"] = txtNewDate.Text;
dr[
"path"] = txtNewPath.Text;
dr[
"approve"] = txtNewPath.Text;
ds.Tables[0].Rows.Add(dr);
ds.AcceptChanges();
ds.WriteXml(Server.MapPath(
"tempcomments.xml"));
GetData();
txtNewAuthor.Text =
string.Empty;
txtNewEmail.Text =
string.Empty;
txtNewText.Text =
string.Empty;
txtNewDate.Text =
string.Empty;
txtNewPath.Text =
string.Empty;
}

 

 

 

protected void gvitems_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex == gvitems.EditIndex)
{
DataRowView dr;
dr = (
DataRowView)e.Row.DataItem;
DropDownList drpApprove = e.Row.FindControl("drpApprove") as DropDownList;
drpApprove.SelectedValue = dr[
"approve"].ToString();
}
(e.Row.FindControl(
"lblRowNumber") as Label).Text = (e.Row.RowIndex + 1 + (gvitems.PageIndex * 10)).ToString();
}
}

Yazılım | Yorum Ekle(0)| 12.02.2010 02:58:02
Etiketler: asp.net XML gridview

URL ReWriting ve CSS


Projenizde URL ReWriting yaparken Css 'in çalışmadığı zamanlar olabiliyor,

Çözüm yollarını aşağıda bulunmakta.

1- CSS dosyasınızın başına "/" koyacaksınız, örneğin:
<link href="/style.css" rel="stylesheet" type="text/css" />

2- CSS dosyanızın adresini direkt yazacaksınız, örneğin: 
<link href="http://www.zekiakdogan.net/style.css" rel="stylesheet" type="text/css" />

3-Meta tagı olarak aşağıdaki kodu ekleyin, örneğin:

<base href="http://www.zekiakdogan.net" />

Yazılım | Yorum Ekle(0)| 07.10.2009 12:12:43
Etiketler: URL ReWriting Css Asp.Net

Asp.Net te saat dilimi problemi


//Şuanki zamanı alıyoruz
DateTime serverTime = DateTime.Now;
//UTC yani greenwich teki zaman hesapliyoruz
DateTime utcTime = dT.ToUniversalTime();
//Trkiye icin 2 saat farki ekliyoruz
DateTime turkeyTime = utcTime.AddHours(2);

 

Yazılım | Yorum Ekle(2)| 02.04.2009 04:21:22
Etiketler: asp.net

Değere göre Dropdownlistte postback engelleme


Codebehind tarafı

ddlBusinessLinesL1.Attributes.Add("onchange", "if(!DisableBLPostBack('" & ddlBusinessLinesL1.ClientID & "','" & ddlReportType.ClientID & "')){return false;}")

html sayfaya eklenecek javascript

function DisableBLPostBack(ddlb,rpType)
{
var ddlbus=document.getElementById(ddlb);
var ddl=document.getElementById(rpType);

if (ddl.value==1) 'postback olmasını engellemek istediğim değer 1
{

return false;
}
else
{

return true;
}
}

Control:
<asp:DropDownList ID="ddlBusinessLinesL1" runat="server" Width="155px" AutoPostBack="True">
</asp:DropDownList>

Yazılım | Yorum Ekle(1)| 30.03.2008 14:07:28
Etiketler: dropdownlist asp.net

ASP.NET ile File Manager



using System;
using System.Data;
using System.Configuration;
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;
using System.IO;
using System.Text;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            string startingDir = Server.MapPath("files");
            lblCurrentDir.Text = startingDir;
            ShowFilesIn(startingDir);
            ShowDirectoriesIn(startingDir);
            btnDelete.Attributes.Add("onclick", "javascript:return confirm('Silmek istediğinizden eminmisiniz?')");
            btnCreate.Attributes.Add("onKeyPress", "return keyRestrict(event,'abcdefgğhijklmnopqrstuvwxyzABCDEFGĞHIİJKLMNOPQRSTUVWXYZ ')");
        }
    }

    void ShowFilesIn(string dir)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(dir);

        lstFiles.Items.Clear();
        foreach (FileInfo fileItem in dirInfo.GetFiles())
        {
            lstFiles.Items.Add(fileItem.Name);

        }
    }

    void ShowDirectoriesIn(string dir)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(dir);

        lstDirs.Items.Clear();
        foreach (DirectoryInfo dirItem in dirInfo.GetDirectories())
        {
            lstDirs.Items.Add(dirItem.Name);
        }
    }

    protected void cmdParent_Click(object sender, EventArgs e)
    {
        if (Directory.GetParent(lblCurrentDir.Text) != null)
        {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                string newDir = Directory.GetParent(lblCurrentDir.Text).FullName;
                lblCurrentDir.Text = newDir;
                ShowFilesIn(newDir);
                ShowDirectoriesIn(newDir);
            }
            else
            {
                alert("Üst klasöre erişim yetkiniz yok");
                //lblMesaj.Text = "Üst klasöre erişim yetkiniz yok";
            }

        }
    }


    protected void btnDownload_Click(object sender, EventArgs e)
    {
        string newDir = Path.Combine(lblCurrentDir.Text, lstFiles.SelectedItem.Text);
        System.IO.Stream akisnesne;
        int tamponboyu = 32768;
        byte[] tampon = new byte[tamponboyu + 1];
        int okunanboyu;
        int kalanboyu;

        akisnesne = new System.IO.FileStream(newDir, FileMode.Open, FileAccess.Read, FileShare.Read);
        kalanboyu = (int)akisnesne.Length;
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + lstFiles.SelectedItem.Text);
        while (kalanboyu > 0)
        {
            if (Response.IsClientConnected)
            {
                okunanboyu = akisnesne.Read(tampon, 0, tamponboyu);
                Response.OutputStream.Write(tampon, 0, okunanboyu);
                Response.Flush();
                kalanboyu = kalanboyu - okunanboyu;
            }
            else
            {
                kalanboyu = -1;
            }
        }
        if (!(akisnesne == null))
        {
            akisnesne.Close();
        }

    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
            if (lstFiles.SelectedIndex != -1)
            {
                string newDir = Path.Combine(lblCurrentDir.Text, lstFiles.SelectedItem.Text);
                //lblCurrentDir.Text = newDir;
                System.IO.File.Delete(newDir);
                ShowFilesIn(lblCurrentDir.Text);
                ShowDirectoriesIn(lblCurrentDir.Text);
                alert("Silme işlemi başarılıyla gerçekleştirildi");
            }
            else
            {
                alert("Silinecek dosya seçili değil");
            }

 

    }
    protected void btnUpload_Click(object sender, EventArgs e)
    {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                if (fileup.HasFile)
                {
                    fileup.SaveAs(lblCurrentDir.Text + @"\" + fileup.FileName.ToString());
                    ShowFilesIn(lblCurrentDir.Text);
                    ShowDirectoriesIn(lblCurrentDir.Text);
                    alert("Yükleme işlemi başarıyla gerçekleştirildi");
                }
            }
       


    }
    void alert(string msg)
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(), "messagebox", "alert('" + msg + "');", true);
    }
    protected void btnCreate_Click(object sender, EventArgs e)
    {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                Directory.CreateDirectory(lblCurrentDir.Text + @"\" + txtCreate.Text);
                ShowFilesIn(lblCurrentDir.Text);
                ShowDirectoriesIn(lblCurrentDir.Text);
                alert(txtCreate.Text + " isminde klasör oluşturuldu.");

            }
            else
            {
                alert("Bu klasörde yeni bir klasör oluşturma yetkiniz yok");
            }
      
    }
    protected void btnDirDelete_Click(object sender, EventArgs e)
    {
            if (lstDirs.SelectedIndex != -1)
            {
                if (lblCurrentDir.Text == ConfigurationManager.AppSettings["root"].ToString())
                {
                    alert("Bu bölümdeki klasörleri silme yetkiniz yok");
                }
                else
                {
                    string delDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                    System.IO.Directory.Delete(delDir);
                    ShowFilesIn(lblCurrentDir.Text);
                    ShowDirectoriesIn(lblCurrentDir.Text);
                    alert("Silme işlemi başarılıyla gerçekleştirildi");

                }
            }
            else
            {
                alert("Silinecek klasör seçilmemiş");
            }
      


    }
    protected void btnAsagi_Click(object sender, EventArgs e)
    {
        if (lstDirs.SelectedIndex != -1)
        {
            if (lblCurrentDir.Text == ConfigurationManager.AppSettings["root"].ToString())
            {
                if (lstDirs.SelectedItem.Text == User.Identity.Name.ToString() || lstDirs.SelectedItem.Text == "ortak")
                {
                    string newDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                    lblCurrentDir.Text = newDir;
                    ShowFilesIn(newDir);
                    ShowDirectoriesIn(newDir);
                }
                else
                {
                    alert("Sadece kişisel ve ortak klasörlere erişim erişebilirsiniz");
                }
            }
            else
            {
                string newDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                lblCurrentDir.Text = newDir;
                ShowFilesIn(newDir);
                ShowDirectoriesIn(newDir);
            }

 

        }
    }


    protected void btnBilgiler_Click(object sender, EventArgs e)
    {
        if (lstFiles.SelectedIndex != -1)
        {
            string fileName = Path.Combine(lblCurrentDir.Text,
            lstFiles.SelectedItem.Text);
            FileInfo selFile = new FileInfo(fileName);

            StringBuilder displayText = new StringBuilder();
            displayText.Append("Adı: ");
            displayText.Append(selFile.Name);
            displayText.Append(",  Boyutu: ");
            displayText.Append(selFile.Length);
            displayText.Append(", ");
            displayText.Append("Oluştuma: ");
            displayText.Append(selFile.CreationTime.ToString());
            displayText.Append(", Enson Erişim: ");
            displayText.Append(selFile.LastAccessTime.ToString());
           alert( displayText.ToString());

        }
        else
        {
            alert("Dosya seçin");
        }
    }
}

Yazılım | Yorum Ekle(0)| 28.03.2008 15:43:03
Etiketler: asp.net file manager

Ana Sayfa | Fotoğraflarım | RSS | İletişim
Zeki AKDOĞAN 2009 © Hiçbir hakkı saklı değildir.