PDA

View Full Version : سوال: True نشدن خاصیت Hasfile در Fileupload



hadirr
پنج شنبه 06 تیر 1392, 01:23 صبح
با سلام
من مشکلم اینه که به هیچ وجع Fileupload خاصیت hasfile اش چه فایل انتخاب میکنم و چه نمیکنم در هر صورت False در نظر میگیره ، به چند صفحه هم مراجعه کردم که در مورد این که FileUpload تو قسمت Uploadpanel مشکل داره که یه روش هایی توضیح داده بود ولی اصلا صفحه من Uploadpanel نداره ، من کد رو قرار میدم اگه کسی تونست کمک کنه . با تشکر

hadirr
پنج شنبه 06 تیر 1392, 01:26 صبح
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderStyle="Solid" CaptionAlign="Top" EmptyDataText="&lt;br/&gt;هیچ اطلاعاتی برای نمایش یافت نشد."
Font-Names="tahoma" Font-Size="Small" ForeColor="#333333" HorizontalAlign="Center"
CellPadding="5" BorderColor="#CCCCCC" BorderWidth="1px" DataKeyNames="id" DataSourceID="SqlDataSource2"
AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDeleting="GridView1_RowDeleting"
OnSelectedIndexChanging="GridView1_SelectedIndexChanging">
<AlternatingRowStyle BackColor="#F3F3F3" />
<Columns>
<asp:BoundField DataField="id" HeaderText="کد خبر">
<ItemStyle Width="50px" ForeColor="#990000" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="az" HeaderText="از">
<ItemStyle Width="220px" />
</asp:BoundField>
<asp:BoundField DataField="title" HeaderText="عنوان">
<ItemStyle Width="550px" />
</asp:BoundField>
<asp:BoundField DataField="date" HeaderText="تاریخ">
<ItemStyle Width="80px" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="time" HeaderText="زمان">
<ItemStyle Width="50px" HorizontalAlign="Center" />
</asp:BoundField>
<asp:CommandField SelectText="انتخاب" ShowSelectButton="True" />
</Columns>
<EditRowStyle Font-Names="tahoma" Font-Size="Small" />
<EmptyDataRowStyle ForeColor="#000066" />
<HeaderStyle BackColor="#5D7B9D" ForeColor="White" Height="40px" />
<PagerStyle BackColor="#5D7B9D" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFFFCC" />
</asp:GridView>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="GridView1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GridView1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnSearch">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GridView1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lbl_message" />
<telerik:AjaxUpdatedControl ControlID="lbl_EndEdit" />
</UpdatedControls>
</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID="btnEdit">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GridView1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lbl_message" />
<telerik:AjaxUpdatedControl ControlID="lblErrorPic" />
<telerik:AjaxUpdatedControl ControlID="lbl_EndEdit" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">
</telerik:RadAjaxLoadingPanel>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:dbNewsConnectionString %>"
DeleteCommand="DELETE FROM [news] WHERE [id] = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td dir="rtl" bgcolor="Maroon" class="font" height="25">
<asp:Label ID="lbl_date0" runat="server" ForeColor="White">مشخصات خبر</asp:Label>
</td>
</tr>
<tr>
<td class="font" dir="rtl">
<%--<telerik:AjaxUpdatedControl ControlID="HiddenField2" />--%><%--<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>--%>
<asp:Panel ID="Panel1" runat="server" Enabled="False">
<table cellpadding="5" cellspacing="0" class="style1">
<tr>
<td width="90" align="left" valign="top">
<asp:Label ID="lbl_date" runat="server">گروه خبری:</asp:Label>
</td>
<td colspan="2">
<asp:DropDownList ID="ddl_group_news" runat="server" Width="100px" DataTextField="name"
DataValueField="id" Font-Names="tahoma" Font-Size="Small" TabIndex="3" BackColor="#EEEEEE">
</asp:DropDownList>
<asp:HiddenField ID="hf_id_news" runat="server" />
<asp:HiddenField ID="hf_pic" runat="server" />
</td>
</tr>
<tr>
<td align="left" valign="top" style="height: 30px">
<asp:Label ID="lbl_date1" runat="server">از:</asp:Label>
</td>
<td style="height: 30px">
<asp:TextBox ID="txt_az" runat="server" Font-Names="tahoma" Font-Size="Small" BackColor="#EEEEEE"
BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" Width="650px"></asp:TextBox>
</td>
<td align="right" style="height: 30px">
&nbsp;
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date2" runat="server">عنوان خبر:</asp:Label>
</td>
<td>
<asp:TextBox ID="txt_title" runat="server" Font-Names="tahoma" Font-Size="Small"
BackColor="#EEEEEE" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
Width="650px"></asp:TextBox>
</td>
<td align="right" width="45">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txt_title"
ErrorMessage="عنوان خبر را وارد نمایید" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="add_news">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date3" runat="server">خلاصه خبر:</asp:Label>
</td>
<td>
<asp:TextBox ID="txt_summery" runat="server" Font-Names="tahoma" Font-Size="Small"
BackColor="#EEEEEE" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
Height="40px" TextMode="MultiLine" Width="650px"></asp:TextBox>
</td>
<td align="right">
&nbsp;
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date4" runat="server">متن:</asp:Label>
</td>
<td style="font-weight: 700" dir="rtl">
<telerik:RadEditor ID="RadEditor1" runat="server" ToolsFile="~/admin/css/RTL/FullSetOfTools.xml"
EnableResize="False" DialogsCssFile="./css/RTL/RadEditor_Dialogs_RTL.css" ContentAreaCssFile="./css/RTL/EditorContentArea_RTL.css"
Width="650px">
<Content>
</Content>
</telerik:RadEditor>
</td>
<td style="font-weight: 700" align="right" valign="top">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="RadEditor1"
ErrorMessage="متن خبر را وارد نمایید" ForeColor="Red" SetFocusOnError="True"
ValidationGroup="add_news">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date9" runat="server">گزارشگر:</asp:Label>
</td>
<td>
<asp:TextBox ID="txt_reporter" runat="server" Font-Names="tahoma" Font-Size="Small"
BackColor="#EEEEEE" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
Width="650px" ValidationGroup="search"></asp:TextBox>
</td>
<td align="right">
&nbsp;
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date6" runat="server">عکس:</asp:Label>
</td>
<td colspan="2">
<asp:FileUpload ID="FileUpload1" runat="server" BackColor="#EEEEEE" Width="400px" />
<asp:CheckBox ID="chk_back_pic" runat="server" Text="عکس قبلی حفظ شود" Checked="True" />
<asp:Label ID="lblErrorPic" runat="server" BackColor="Yellow"
Font-Size="Medium" ForeColor="#990000"></asp:Label>
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date7" runat="server">امتیاز:</asp:Label>
</td>
<td dir="rtl">
<telerik:RadRating ID="RadRating1" runat="server" ItemCount="10" ToolTip="امتیاز خبر"
Value="1">
</telerik:RadRating>
</td>
<td dir="rtl">
&nbsp;
</td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Label ID="lbl_date8" runat="server">مشاهده:</asp:Label>
</td>
<td dir="rtl">
<asp:TextBox ID="txt_num_visit" runat="server" BackColor="#EEEEEE" BorderColor="#CCCCCC"
BorderStyle="Solid" BorderWidth="1px" Enabled="False" Font-Names="tahoma" Font-Size="Small"
Width="200px"></asp:TextBox>
</td>
<td dir="rtl">
&nbsp;
</td>
</tr>
<tr>
<td align="center" valign="top" colspan="3">
<asp:Button ID="btnEdit" runat="server" Font-Names="Tahoma" Font-Size="Small" OnClick="btn_edit_Click"
Text="ثبت خبر" ValidationGroup="add_news" Width="74px" />
</td>
</tr>
</table>
</asp:Panel>

hadirr
پنج شنبه 06 تیر 1392, 01:27 صبح
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class admin_Edit_reporter : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlDataSource sql = new SqlDataSource();
sql = DAL.service_news.data_source("select * from service_news");
ddl_group_news.DataSource = sql;
ddl_group_news.DataBind();

SqlDataSource ds_link = new SqlDataSource();
ds_link = DAL.service_news.data_source("Select * From service_news");
ch_group_news.DataSource = ds_link;
ch_group_news.DataBind();
ListItem li = new ListItem("همه گروهها", "0");
ch_group_news.Items.Add(li);
}
}

protected void btn_edit_Click(object sender, EventArgs e)
{
int id_service = Convert.ToInt32(ddl_group_news.SelectedItem.Value) ;
string az = txt_az.Text;
string title = txt_title.Text;
string summery = txt_summery.Text;
string text = RadEditor1.Content;
string reporter = txt_reporter.Text;
int rate_news = (int)(RadRating1.Value);
string pic;
byte[] randomNumber = new byte[1];
System.Security.Cryptography.RNGCryptoServiceProvi der.Create().GetBytes(randomNumber);

DataTable dt = new DataTable();

if (chk_back_pic.Checked == false)//
{
string pasvand = "";
Boolean fileOK = false;
String path = Server.MapPath("~/image/text_news/");
if (FileUpload1.HasFile)
{
String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName). ToLower();
String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
fileOK = true;
pasvand = allowedExtensions[i].Remove(0, 1);
break;
}
}
}
else//
{
pasvand = "";
fileOK = true;
}
if (fileOK)//
{
Call.report news = new Call.report();
news.id = Convert.ToInt32(hf_id_news.Value);
news.az = az;
news.id_service = id_service;
news.pic = randomNumber[0].ToString() + "." + pasvand;
news.rate = rate_news;
news.reporter = reporter;
news.summery = summery;
news.text = text;
news.title = title;

news.Update();

if (FileUpload1.HasFile)//
{
System.IO.File.Delete(Server.MapPath(@"~/image/text_news/" + hf_pic.Value));//
pic = randomNumber[0].ToString() + "." + pasvand;
FileUpload1.SaveAs(path + pic);
}


lbl_message.Text = "به روز رسانی با موفقیت انجام شد";
lbl_EndEdit.Text = "به روز رسانی با موفقیت انجام شد";
txt_az.Text = "";
txt_reporter.Text = "";
txt_summery.Text = "";
RadEditor1.Content = "";
txt_title.Text = "";
Panel1.Enabled = false;
}
else
{
lbl_message.Text = "<br>" + "پیغام خطا : فایل هایی با این پسوند قابل پذیرش نمی باشد. عکس مناسبی را انتخاب نمایید";
lblErrorPic.Text = "<br>" + "پیغام خطا : فایل هایی با این پسوند قابل پذیرش نمی باشد. عکس مناسبی را انتخاب نمایید";

}
}
else//
{

Call.report news = new Call.report();
news.id = Convert.ToInt32(hf_id_news.Value);
news.az = az;
news.id_service = id_service;
news.pic = hf_pic.Value;
news.rate = rate_news;
news.reporter = reporter;
news.summery = summery;
news.text = text;
news.title = title;

news.Update();

lbl_message.Text = "به روز رسانی با موفقیت انجام شد";
lbl_EndEdit.Text = "به روز رسانی با موفقیت انجام شد";
txt_az.Text = "";
txt_reporter.Text = "";
txt_summery.Text = "";
RadEditor1.Content = "";
txt_title.Text = "";
Panel1.Enabled = false;
}
}
string[] g_news;

private void search()
{
string word = "", search_in = "";
string query = "";
lbl_message.Text = "";
lbl_EndEdit.Text = "";
lblErrorPic.Text = "";
bool flag_group = false;
foreach (ListItem li in ch_group_news.Items)//
{
if (li.Selected)
{
flag_group = true;
}
}

if (flag_group == true)//
{

if (RBL_zaman.SelectedValue == "1")//
{
if (StartDateCal.PersianDateString == "" || EndDateCal.PersianDateString == "")//
{
lbl_message.Text = "تاریخ شروع و تاریخ پایان را وارد نمایید";
SqlDataSource2.SelectCommand = null;
SqlDataSource2.DataBind();

return;
}

}
string s = txt_search.Text.Trim();
string[] search_words = s.Split(' ');

if (ddl_search_in.SelectedItem.Value == "0")
search_in = "title";
else
search_in = "text";


bool flag = false;
if (ddl_type_search.SelectedItem.Value == "0")//
{
for (int i = 0; i < search_words.Length; i++)
{
word += string.Format(" AND ({0} LIKE N'%{1}%')", search_in, search_words[i]);
}
}
if (ddl_type_search.SelectedItem.Value == "1")//
{
word = " AND (";
for (int i = 0; i < search_words.Length; i++)
{
if (flag == false)
{
word += string.Format(" ({0} LIKE N'%{1}%')", search_in, search_words[i]);
flag = true;
}
else
word += string.Format(" OR ({0} LIKE N'%{1}%')", search_in, search_words[i]);
}
word += " )";
}
if (ddl_type_search.SelectedItem.Value == "2")//
{
word += string.Format(" AND ({0} LIKE N'%{1}%')", search_in, s);
}

string service_condition = "";
flag = false;
if (ch_group_news.Items[ch_group_news.Items.Count - 1].Selected == false)//
{
service_condition = " AND (";

foreach (ListItem li in ch_group_news.Items)
{
if (li.Selected)
{
if (flag == false)
{
service_condition += string.Format(" (id_service = {0}) ", li.Value);
flag = true;
}
else
service_condition += string.Format(" OR (id_service = {0}) ", li.Value);
}
}
service_condition += " )";

}
if (RBL_zaman.SelectedValue == "1")//
{

string start_date = Call.Utility1.ConvertDate(StartDateCal.PersianDate String);
string end_date = Call.Utility1.ConvertDate(EndDateCal.PersianDateSt ring);


query = string.Format("SELECT * FROM report WHERE (date >= N'{0}') AND (date <= N'{1}') {2} {3}", start_date, end_date, service_condition, word);
}
else //
{
if (ch_group_news.Items[ch_group_news.Items.Count - 1].Selected == true)//
{
word = word.Remove(0, 4);
}
if (RBL_zaman.SelectedItem.Value == "0" && ch_group_news.Items[ch_group_news.Items.Count - 1].Selected == false)//اگر بدون محدودیت انتخاب شده باشد
{
service_condition = service_condition.Remove(0, 4);
}

query = string.Format("SELECT * FROM report WHERE {0} {1}", service_condition, word);
}

SqlDataSource2.SelectCommand = query;
SqlDataSource2.DataBind();

}
else
{
lbl_message.Text = " لطفا حداقل یکی از گروه های خبری را انتخاب نمایید";
SqlDataSource2.SelectCommand = null;
SqlDataSource2.DataBind();
//lbl_text.Text = "";
}
}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
search();
}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
search();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
search();
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
int id_News = Convert.ToInt32(GridView1.DataKeys[e.NewSelectedIndex].Value);//دریافت شناسه کاربر
Call.report news = Call.report.Select_Key(id_News);

ddl_group_news.SelectedIndex = -1;
Panel1.Enabled = true;
lbl_message.Text = "";
lbl_EndEdit.Text = "";

hf_id_news.Value = id_News.ToString();
int id_service = news.id_service;
string az = news.az;
string title = news.title;
string summery = news.summery;
string text = news.text;
string reporter = news.reporter;
hf_pic.Value = news.pic;
string rate = news.rate.ToString();
int num_visit = news.num_visit;

for (int i = 0; i < ddl_group_news.Items.Count - 1; i++)
{
if (ddl_group_news.Items[i].Value == id_service.ToString())
{
ddl_group_news.Items[i].Selected = true;
break;
}
}
RadRating1.Value = Convert.ToDecimal(rate);
txt_az.Text = az;
txt_reporter.Text = reporter;
txt_summery.Text = summery;
RadEditor1.Content = text;
txt_title.Text = title;
txt_num_visit.Text = num_visit.ToString();
}
}

fakhravari
پنج شنبه 06 تیر 1392, 12:07 عصر
در ابديت پنل كار نميكنه.
بايد بيرون اون بزاريش

hadirr
پنج شنبه 06 تیر 1392, 14:34 عصر
دوست عزیز تشکر از پاسخ شما
اما اصلا Updatepanel استفاده نشده و Fileupload در قسمت Panel قرار داره

fakhravari
پنج شنبه 06 تیر 1392, 20:37 عصر
FileUpload1 نبايد مشكل خاصي داشته باشد
panel خاصيت enable = true?
از ajax تلريك كه توش استفاده نكردي يا در محدوده اين اپلود

hadirr
پنج شنبه 06 تیر 1392, 23:10 عصر
آره ، از Ajax telerik استفاده کردم ، راه حلی داره ؟:ناراحت:
البته خود Fileupload در Ajax telerik قرار نداره ولی panel و Button ای که این کار رو انجام میدن قرار داره ، من برداشتم دیدم جواب نمیده .

fakhravari
جمعه 07 تیر 1392, 03:05 صبح
Fileupload با هيچ ajax كار نميده
راهي هست اما پست بك ميخوره و چه فايده انگار ajax استفاده نكردي

hadirr
جمعه 07 تیر 1392, 11:49 صبح
:ناراحت: یعنی اصلا حالت Ajax معلوم نمیشه دیگه؟ :ناراحت:
حالا راهی که گفتی چطوری؟

fakhravari
جمعه 07 تیر 1392, 12:58 عصر
تعريف تريگر در ابديت پنل.

hadirr
یک شنبه 09 تیر 1392, 00:30 صبح
دوست عزیز ، من تریگر رو داخل آپدیت پنل گذاشتم ولی میاد در حالت لووود قرار میگیره و همونطوری باقی میمونه .
مجبور شدم کل تریگر رو بردارم ، الان Fileupload کار میکنه ، ولی بدون اجکس اصلا :ناراحت:خوب در نمیاد:افسرده: