PDA

View Full Version : از کار افتادن update panel موقع استفاده از AjaxControlToolkit



moferferi
یک شنبه 16 آذر 1393, 13:52 عصر
سلام
من از AsyncFileUpload که از کنترل های AjaxControlToolkit استفاده میکنم
در صفحه دو تا DropDownList دارم که درون Update Panel قرار دارند و به هم متصل هستند

اما وقتی DropDownList1 را انتخاب میکنیم متد drop1_SelectedIndexChanged عمل نمیکنه

حالا اگه بیایم و فانکشن زیر را به حالت کامنت دربیاریم همه مشکل حل میشه
کسی میدونه دلیل این تداخل چیه

فانکشن مورد نظر
function StartUpload(sender, args) {
document.getElementById('lblStatus').innerText = 'Uploading Started.';
}




کد های کامل برنامه را هم میزارم

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" language="javascript">
function uploadError(sender, args) {
document.getElementById('lblStatus').innerText = args.get_fileName(),
"<span style='color:red;'>" + args.get_errorMessage() + "</span>";
}

function StartUpload(sender, args) {
document.getElementById('lblStatus').innerText = 'Uploading Started.';
}

function UploadComplete(sender, args) {
var filename = args.get_fileName();
var contentType = args.get_contentType();
var text = "Size of " + filename + " is " + args.get_length() + " bytes";
if (contentType.length > 0) {
text += " and content type is '" + contentType + "'.";
}
document.getElementById('lblStatus').innerText = text;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" CombineScripts="true" />
<asp:UpdatePanel runat="server" ID="up1" ChildrenAsTriggers="true" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="drop1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="drop1_SelectedIndexChanged"
CssClass="dropostan">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="drop2" runat="server" CssClass="dropcity">
<asp:ListItem>0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
</asp:DropDownList>
<cc1:AsyncFileUpload ID="AsyncFileUpload1" Width="400px" runat="server" OnClientUploadError="uploadError"
OnClientUploadStarted="StartUpload" OnClientUploadComplete="UploadComplete" CompleteBackColor="Lime"
UploaderStyle="Modern" ErrorBackColor="Red" ThrobberID="Throbber" OnUploadedComplete="AsyncFileUpload1_UploadedComplete"
UploadingBackColor="#66CCFF" />
<asp:Label ID="Throbber" runat="server" Style="display: none">
<img src="Images/indicator.gif" align="absmiddle" alt="loading" />
</asp:Label>
<asp:Label ID="lblStatus" runat="server" Style="font-family: Arial; font-size: small;"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>



و
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing;
using System.Reflection;
using MehadModel;
using System.Web.Services;
using HtmlCleaner;
using System.Activities.Statements;
using Telerik.Web.UI;

public partial class Default3 : System.Web.UI.Page
{
private void dropostan()
{
MehadEntities db = new MehadEntities();
var lst = (from d in db.country_state_city
where d.parent_id == 0
select d).ToList();
drop1.DataTextField = "csc_name";
drop1.DataValueField = "csc_id";
drop1.DataSource = lst;
drop1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{

}
protected void AsyncFileUpload1_UploadedComplete
(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
System.Threading.Thread.Sleep(1000);
if (AsyncFileUpload1.HasFile)
{
string strPath = MapPath("~/temp/") + Path.GetFileName(e.filename);
AsyncFileUpload1.SaveAs(strPath);
}
}
protected void drop1_SelectedIndexChanged(object sender, EventArgs e)
{
drop2.SelectedValue = drop1.SelectedValue;
}
}