PDA

View Full Version : چطوری می توان در شاخه اصلی سایت از طریق برنامه فایلی ایجاد کرد



azam2005
چهارشنبه 23 دی 1388, 10:44 صبح
چطوری می توان در شاخه اصلی سایت از طریق برنامه فایلی ایجاد کرد

من می خواهم اطلاعات جداول پروژه را از SQL بگیرم و به صورت یک فایل xml در پوشه اصلی ایجاد کنم ولی مثل اینکه حق دسترسی به پوشه اصلی را ندارم و نمی توان در شاخه اصلی فایلی از طریق برنامه ایجاد کرد.
ابتدا باید در یک پوشه در شاخه اصلی ایجاد کنم بعد فایلهایی که از طریق برنامه ایجاد شده را دانلود کنم بعد مجددا در شاخه اصلی آپلود کنم.چطوری می توان در شاخه اصلی سایت از طریق برنامه فایلی ایجاد کرد.
در حقیقت می خواهم Sitemap.xml برای گوگل بنویسم ولی فایلهای xml باید در شاخه اصلی باشد.

meysampaknahad
چهارشنبه 23 دی 1388, 11:40 صبح
سلام
یه مثال در این زمینه به صورت فیلم آموزشی هست که توسط Peyman.Gh در قسمت فیلم های آموزشی قرار داده شده.
http://www.persianupload.com/3984248

jingiliboyz
چهارشنبه 23 دی 1388, 12:30 عصر
سلام
یه مثال در این زمینه به صورت فیلم آموزشی هست که توسط Peyman.Gh در قسمت فیلم های آموزشی قرار داده شده.
http://www.persianupload.com/3984248


دوست عزیز آیا مثالی هم برای اضافه کردن به یک فایل xlm از طریق یک فرم دارید که بزارید ممنون میشم

Mostafa_Dindar
چهارشنبه 23 دی 1388, 12:48 عصر
دوست عزیز آیا مثالی هم برای اضافه کردن به یک فایل xlm از طریق یک فرم دارید که بزارید ممنون میشم

فرض کنید یک فایل xml به فرمت زیر دارید:

[source="csharp"]<?xml version="1.0" encoding="utf-8"?>
<Persons>
<Person>
<Name>Mostafa</Name>
<City>Mashad</City>
<Age>27</Age>
</Person>

اون رو تو Root سایت ذخیره کنید . 3 تا TextBox رو فرم قرار دهید + یک Button + یک Lable
در رویداد کلیک Button به شکل زیر بنویسید :

protected void butAdd_Click(object sender, EventArgs e)
{
try
{
if(txtName.Text == "" || txtCity.Text == "" || txtAge.Text == "")
lblStatus.Text = "لطفا داده ها را به صورت كامل وارد كنيد.";
else
{
XDocument xmlDoc = XDocument.Load(Server.MapPath("People.xml"));

xmlDoc.Element("Persons").Add(new XElement("Person", new XElement("Name", txtName.Text),
new XElement("City", txtCity.Text), new XElement("Age", txtAge.Text)));

xmlDoc.Save(Server.MapPath("People.xml"));
lblStatus.Text = "داده با موفقيت به فايل اضافه شد.";
}
}
catch
{
lblStatus.Text = "بروز خطا . دوباره سعي كنيد.";
}
}

فراموش نکنید که فضای نام LINQ در بالای صفحه را داشته باشید .(using System.Xml.Linq;)

موفق باشید

jingiliboyz
چهارشنبه 23 دی 1388, 14:46 عصر
این فضا نامLINQ را چطور به برنامه اضافه کنم الان من کارهایی که شما گفتید رو انجام دادم ولی نگفتید که textbox هارو چی بنامم که خودم به ترتیب از تو کدی که داده بودیدbox اول رو گذاشتم txtName و box دوم رو گذاشتم txtCityو box سوم رو گذاشتم txtAge ولی این فضا نام دیگه چیه؟

jingiliboyz
چهارشنبه 23 دی 1388, 14:49 عصر
من فایلی که ساختم رو میزارم شما برام اگه امکان داره کامل کنید من از این فضا نام سر در نمیارم error میده

Mostafa_Dindar
چهارشنبه 23 دی 1388, 15:00 عصر
من فایلی که ساختم رو میزارم شما برام اگه امکان داره کامل کنید من از این فضا نام سر در نمیارم error میده

سلام .

كدهاي من به زبان CSharp بود . پروژه شما به زبان VB هست . متاسفانه من به زبان VB آگاهي ندارم .
انشاالله دوستان VB كارمون شما رو راهنمايي ميكنند .

موفق باشيد .

farshad22
چهارشنبه 23 دی 1388, 15:12 عصر
بابا بیخیال منم سی شارپ کار میکنم ولی پیدا کردنش که سخت نیست.به جای using در vb بنویس Import

jingiliboyz
چهارشنبه 23 دی 1388, 15:24 عصر
سلام .

کدهای من به زبان CSharp بود . پروژه شما به زبان VB هست . متاسفانه من به زبان VB آگاهی ندارم .
انشاالله دوستان VB کارمون شما رو راهنمایی میکنند .

موفق باشید .

خب این فضا نام چی بود چطور به برنامه اضافه کنم اینو توضیح ندادید

Mostafa_Dindar
چهارشنبه 23 دی 1388, 15:32 عصر
خب این فضا نام چی بود چطور به برنامه اضافه کنم اینو توضیح ندادید

شما متوجه نيستيد دوست من .
تنها با اون فضاي نام مشكل شما مرتفع نميشه . بايد كل كدتون به زبان VB باشه .

بابا بیخیال منم سی شارپ کار میکنم ولی پیدا کردنش که سخت نیست.به جای using در vb بنویس Import

با تشکر از شما .

لطفا کدی رو که من نوشتم به زبان VB بنویسید و در اختیار دوستمون قرار بدید .

ممنون

jingiliboyz
چهارشنبه 23 دی 1388, 15:45 عصر
آقا حر گلی زدید به سر خودتون زدید اگه کسی میدونید که بتونه همین فرم رو برای درست کنه به vb بگید بیاد مشکل منو حل کنه همین کد و فرم خیلی خوب بود اگه به vb بود مرسی

jingiliboyz
چهارشنبه 23 دی 1388, 15:52 عصر
آقا اگه امکان داره همین کد رو به vb برام بزارید مرسی همین کد و نوع فرمش خیلی خوبه فقط به vb اگه امکان داره بزارید مرسی

دانش آموز
چهارشنبه 23 دی 1388, 19:52 عصر
فضای نام linq در ویژوال استدیو 2005 نیست شاید مشکل شما هم همین باشد

jingiliboyz
پنج شنبه 24 دی 1388, 13:14 عصر
فضای نام linq در ویژوال استدیو 2005 نیست شاید مشکل شما هم همین باشد

یعنی هیچ راهی برای ساخت منو از طریق فرم نیست ؟ در مورد فضا نام من یه مقاله گیر آوردم امشب میخوام بخونم بلکه سردر بیارم ولی خاهشن یه کمکی بکنید من باید تو پروژم منوی داینامیک داشته باشم که بایک فرم بتونم بهش منو اضافه کنم اگه این منو درست نکنم مجبورم متواری بشم ...

azam2005
یک شنبه 04 بهمن 1388, 11:15 صبح
این کد کاملا درست است و در Local host جواب می دهد ولی برای سایتی ک روی سرور نصب شده است موقع اجرا اشکال زیر مشاهده می شود.

Exception Details: System.UnauthorizedAccessException: Access to the path 'D:\vhosts\wert.com\httpdocs\Index.Xml' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access