|
Hello,
I am using the following code to upload and delete the file in a folder.
DirectoryInfo dir1 = new DirectoryInfo(Server.MapPath("~\\Upload\\"));
...
foreach (FileInfo f in dir1.GetFiles("*.jpg"))
{
byte[] buffer = new byte[f.OpenRead().Length];
f.OpenRead().Read(buffer, 0, (int)f.OpenRead().Length);
PhtMgr.AddPhoto(buffer);
f.Delete(); // Error occurs HERE.
}
This code is working fine for the firs time(first file). Its giving the following Error
"The process cannot access the file 'xyz.jpg' because it is being used by another process." when trying to upload another photo to database and delete it.
Plz let me know where i have side tracked.
Regards,
dhulipudi
|
|
|
|
|
Perhaps inserting
f.Close();
before the f.Delete() method will help...
If not, can you manually delete the file from Windows Explorer? If not, try re-booting...
Fred
|
|
|
|
|
Hi,
I am a Asp.net Developer(web developer), I am using Asp.net 2.0 framework with VB as language in visual studio 2005.
I have a dataset that has to be exported and opened with Excel 2007.
Main thing is the column header on the excel is not the datatable(dataset) column names, it is dynamically given according to the user selection on the previous screen
I was able to do that with couple or more method like CSV, XSLT and aslo directly from gridview
The Issue IS:
when ever I click the event to export into excel, As usually(regular) a window pops up and asks open, save and cancel. when I click open after that(Here is the issue occuring) excel prompts an window and tells that (Only in Excel 2007)
"The file you are trying to open, 'filename.xls'is in a different format than specified by the file extension, verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now"
when I click OK in that then it opens up
My user dont want to get that excel prompt window
I think it occurs due to the excel 2007 is designed XML format
Is there any way of doing this without excel prompt.
I would appreciate if suggest me with an example (code snippet).
For your information, I am pasting the code of all different method I tried.
CSV Method:
Protected Sub lbtn_exp_excel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtn_exp_excel.Click
Dt_RwSum = Obj_RightofWayBll.RwSum_Retrive(view_type, est_type, rwsum_fdate, rwsum_tdate) ' this is the datatable
Dim ds As New DataSet
ds.Tables.Add(Dt_RwSum)
'Dim drow As DataRow = ds.Tables(0).Rows
estdate_header = rwsum_etitle & " Date"
estamt_header = rwsum_etitle & " Amount"
Dim sb As New System.Text.StringBuilder
sb.Append(vbCrLf)
sb.Append("PROJECT No")
sb.Append(",")
sb.Append("Managing District")
sb.Append(",")
sb.Append("Location Description")
sb.Append(",")
sb.Append("Work Type")
sb.Append(",")
sb.Append(estdate_header)
sb.Append(",")
sb.Append(estamt_header)
sb.Append(vbCrLf)
Dim i As Integer
Dim j As Integer
Dim report As String = String.Empty
Dim sbdatarow As New System.Text.StringBuilder
For i = 0 To ds.Tables(0).Rows.Count - 1
Dim sb1 As New System.Text.StringBuilder
For j = 0 To ds.Tables(0).Columns.Count - 1
sb1.Append(ds.Tables(0).Rows(i)(j).ToString)
sb1.Append(",")
Next
criteria = sb1.ToString
sbdatarow.Append(criteria)
sbdatarow.Append(vbCrLf)
Next
Dim finalreport As String = sb.ToString & sbdatarow.ToString
Response.ContentType = ""
Response.AppendHeader("Content-Disposition", "inline;filename=ExcelReport.csv")
Response.Write(finalreport)
Response.End()
end sub
Gridview Methoddirectly exporting a gridview to excel)
Protected Sub lbl_exp_excel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbl_exp_excel.Click
gv_excel.Visible = True
cesum_ptitle = Session("page_title")
Dim tw As New StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
Dim frm As HtmlForm = New HtmlForm()
Dim FileName As String = "BillingWorkSheet" & Date.Now.ToShortDateString
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("content-disposition", "attachment;filename =" & FileName & " report.xls")
Response.Charset = ""
EnableViewState = False
Controls.Add(frm)
frm.Controls.Add(gv_excel()) ' this is the gridview control
frm.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
End Sub
XSLT MethodStreaming the data from dataset to XSL file added in the project(excel_export.xsl))
Protected Sub lbtn_exp_excel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtn_exp_excel.Click
Dt_RwSum = Obj_RightofWayBll.RwSum_Retrive(view_type, est_type, rwsum_fdate, rwsum_tdate) ' this is the datatable
Dim ds As New DataSet
ds.Tables.Add(Dt_RwSum)
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = ""
Dim xdd As XmlDataDocument = New XmlDataDocument(objDataset)
Dim xt As XslCompiledTransform = New XslCompiledTransform()
xt.Load(Server.MapPath("excel_export.xsl"))
xt.Transform(xdd, Nothing, Response.OutputStream)
Response.End()
end sub
I am tired of trying all the method, Please help me out to avoid that excel 2007 prompt window. My user is very strict in avoiding this prompt.
Thanks in advance
Mohamed
|
|
|
|
|
From the following code line
content-disposition to "attachment"
Remove content-disposition to attachment it will not ask you for the save/open dialog...
Try it out....
I was born dumb!!
Programming made me laugh !!!
--sid--
|
|
|
|
|
Hello All
How can i fetch the records from an excel sheet for a particular date.
i want to pass the date from frontend and fetch only those records which satisfy the condition.
my code is:----------
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFilePath + ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
Dim cnCSV As New OleDbConnection(strConnectionString)
cnCSV.Open()
'Dim cmdSelect As New OleDbCommand("SELECT * FROM [sheet1$] where [Tube Dia]=22", cnCSV)
Dim cmdSelect As New OleDbCommand("SELECT * FROM [sheet1$] where [Invoice date]='14/04/2006'", cnCSV)
cmdSelect.CommandType = CommandType.Text
Dim daCSV As New OleDbDataAdapter
daCSV.SelectCommand = cmdSelect
Dim ds As New DataSet
daCSV.Fill(ds)
Oledb is treating my date as string
how to convert my string parameter('14/04/2006') to date.
|
|
|
|
|
Iam very good in OOP but ...
why Event of controls in asp.net defined as protected
aj123
|
|
|
|
|
I would guess it is because they didn't want anyone overriding them.
Ben
|
|
|
|
|
I'm pretty sure they don't necessarily have to be, thats just the way VS adds them in, no reason they couldn't be public (they can't be private as the page that ends up as a subclass of your code-behind has to access them).
|
|
|
|
|
A page class instance exists only for a single postback. As it has no persistence, nothing external is ever going to access the event, unless it's in a control, but the fact is, it cannot be private ( as the aspx is turned into a class DERIVED from the code behind ), and it shouldn't be public ( no external class should be calling an event handler )
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Hi everybody! I have a problem! I have some usercontrol, tell me how I can load each usercontrol when I need with only one palceholder?
Thanks!
THT
|
|
|
|
|
its very simple .............if u want one usercontrol ata time.
if u want to display one user control place it in a place holder when pageloads by keeping placeholder id and runat="server" attributes. and when the data changes place another usercontrol when needed.
Like
In source declare those usercontrols as <%@register and.............>
and place a placeholder with id and runat="server" attributes.
//Creating an instance of UserControl
usercontrols_UserControl1 uc = (usercontrols_UserControl1 )Page.LoadControl("usercontrols\\UserControl1 ");
//loading the user control dynamically
//assign the label text a value
phUserControl.Controls.Add(uc);
|
|
|
|
|
Hello,
How can I add dynamic controles to my web form at run time and working with its events and values.
Thanks.
Dad
|
|
|
|
|
TextBox txt = new TextBox();
Button btn = new Button();
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
btn.Text = "Test Button";
btn.Click += new EventHandler(btn_Click);
Page.Form.Controls.Add(txt);
Page.Form.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
btn.Text = txt.Text;
}
We Can Do Anything, If We Want It
|
|
|
|
|
Thanks that is great
but I want to add these controles when I click a button ,The probleme is that when the page come back from the server it lose all my controles.
so what can I do?
thanks .
Dad
|
|
|
|
|
The problem you are having, has to do with way the page is constructed during a webrequest.
The site constructs the basic structure of the page and fills in the values after the controls are constructed. This is done with every webrequest, so you have to inject your controls during the period that the structure of the page is constructed.
One thing you can do is add the controls to a list in the session state and rebuild the structure from that every time the page is initialized. You will also need to fill in the values that the controls originally had.
WM.
What about weapons of mass-construction?
"What? Its an Apple MacBook Pro. They are sexy!" - Paul Watson
My blog
|
|
|
|
|
If you cuse dynamic controls, it will lost in postbacks.
So i think u should keep its value (textboix value) to a hidden filed and and recreate it after postback and assign this hiden fild value to the dynamic control...
i didnt think it is not a good idea to use dynamic controls.It defenitley affects the perfomance..
All I ever wanted is what others have.... CrazySanker
|
|
|
|
|
hi,
I used UpdatePanel in one page.there is some controls in this UpdatePanel.
then I added ModalPopupExtender to page and set it's properties and then run the page. I faced with this Error :
"An extender can't be in a different UpdatePanel than the control it extends"
Please Help Me.
Thank you.
|
|
|
|
|
Its pretty self explanatory - you've put an extender control on your page that extends a control within a different updatepanel. This is a restriction of the extender framework (unfortunately, I've come across troubles with it before), an extender MUST be inside the same updatepanel as the control it 'extends'.
|
|
|
|
|
|
|
Thank You Very good Answer Its working for me..
|
|
|
|
|
Hi friends
i have one page in which i put iframe.
In iframe i have one dropdownlist and one submit button.
I want to get values of dropdownlist on click of submit button in parent page.
plz help me out
thanks in advance
GOD HELP THOSE WHO HELP THEMSELVES
|
|
|
|
|
Hi
U want to say that u have to populate DropDowList only.
From where u want to populate DropDownList?
Cheers
Chandu
|
|
|
|
|
what is the difference between
<%#databinder.eval(container.dataitem,"")%?
and
<%#eval("")%>
|
|
|
|
|
I think use <%#databinder.eval(container.dataitem,"")% for 1.1 and <%#eval("")%> for 2.0. But I'm not sure!
THT
|
|
|
|