Ajaxtoolkit:cascadingdropdown - раскрывающийся список отлично работает в IE, но не в другом браузере в asp.net-C#C#

Место общения программистов C#
Ответить
Anonymous
 Ajaxtoolkit:cascadingdropdown - раскрывающийся список отлично работает в IE, но не в другом браузере в asp.net-C#

Сообщение Anonymous »

Недавно я присоединился к новой компании, которая использует старый asp.net в VS2008. Он довольно старый. Одна из проблем, с которой я столкнулся во время модификации, заключалась в использовании каскадного раскрывающегося списка Ajaxtoolkit3.0. Dropdown (ajaxtoolkit) отлично работает в IE, но не в другом браузере. В первый раз мне приходится добавлять через IE, тогда он позволяет другому браузеру выбирать раскрывающийся список.
ошибка в Chrome. Группа exp head пуста, она должна отображать ошибку данных
в Chrome. Группа exp head пуста, она должна отображать данные. см. изображение выше.
В то же время. пожалуйста, посмотрите, что показывает IE.
IE показывает отличный результат
IE показывает отличный результат.
Первый пользователь выбирает из этого раскрывающегося списка а затем появляется это загрузка страницы

Код: Выделить всё

if (!Page.IsPostBack)
{

GetValuesFromSession();
LoadProjectSiteLocation();
LoadBudgetReferenceHead();
LoadRequirmentTypes();

LoadUnitOfMeasurementForDuration();
if (ViewState["IndentID"] != null)
{
LoadIndentInformation();
LoadQuerySendTo();

}

Код: Выделить всё

 protected void LoadBudgetReferenceHead()
{
SMART.DAL.BMS.BudgetExpenseHead objBudgetExpenseHead = new SMART.DAL.BMS.BudgetExpenseHead();
ddlBudgetExpenseHead.DataSource = objBudgetExpenseHead.SelectByProjectID(Convert.ToInt32(ViewState["ProjectID"]));
ddlBudgetExpenseHead.DataTextField = "BudgetExpenseHeadDescription";
ddlBudgetExpenseHead.DataValueField = "BudgetExpenseHeadID";
ddlBudgetExpenseHead.DataBind();
}

Код: Выделить всё

 protected void ddlBudgetExpenseHeadDetail_SelectedIndexChanged(object sender, EventArgs e)
{
SMART.DAL.BMS.BudgetExpenseHeadDetail objBudgetExpenseHeadDetail = new SMART.DAL.BMS.BudgetExpenseHeadDetail();
DataTable dtBudgetExpenseHeadDetail;

if (ddlBudgetExpenseHeadDetail.SelectedItem.Value == "")
{
dtBudgetExpenseHeadDetail = objBudgetExpenseHeadDetail.SelectByID(-1);
}
else
{
dtBudgetExpenseHeadDetail = objBudgetExpenseHeadDetail.SelectByID(Convert.ToInt32(ddlBudgetExpenseHeadDetail.SelectedItem.Value));
}
if (dtBudgetExpenseHeadDetail.Rows.Count >  0)
{

if (dtBudgetExpenseHeadDetail.Rows[0]["UnitofMeasurementDescription"].ToString() != "")
{
txtBudgetUnitofMeasurement.Text = dtBudgetExpenseHeadDetail.Rows[0]["UnitofMeasurementDescription"].ToString();
//ViewState["BudgetUnitofMeasurementDescription"] = dtBudgetExpenseHeadDetail.Rows[0]["UnitofMeasurementDescription"].ToString();

if (txtIndentDetailItemUOM.Text == txtBudgetUnitofMeasurement.Text)
{
txtBudgetUnitofMeasurement.Visible = false;
lblBudgetUnitofMeasurement.Visible = false;
txtConversionFector.Text = "1";
txtConversionFector.Visible = false;
}
else
{
txtBudgetUnitofMeasurement.Visible = true;
lblBudgetUnitofMeasurement.Visible = true;
txtConversionFector.Text = "1";
txtConversionFector.Visible = true;
}

//lblBudgetUnitofMeasurement.Visible = true;
//txtBudgetUnitofMeasurement.Visible = true;
}
else
{
txtBudgetUnitofMeasurement.Text = "";
txtConversionFector.Text = "0";

txtConversionFector.Visible = false;
lblBudgetUnitofMeasurement.Visible = false;
txtBudgetUnitofMeasurement.Visible = false;
}
}
}
Метод веб-сервиса

Код: Выделить всё

[WebMethod]
public CascadingDropDownNameValue[] GetBudgetReferenceHeadDetailListByBudgetExpenseHeadID(string knownCategoryValues, string category)
{
SMART.DAL.BMS.BudgetExpenseHeadDetail objBudgetExpenseHeadDetail = new SMART.DAL.BMS.BudgetExpenseHeadDetail();

StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
Int32 BudgetExpenseHeadID;
if (!kv.ContainsKey("undefined") ||
!Int32.TryParse(kv["undefined"],  out BudgetExpenseHeadID))
{
return null;
}

DataTable dt = objBudgetExpenseHeadDetail.SelectByBudgetExpenseHeadID(BudgetExpenseHeadID);

//kv["Project"].ToString()
List values = new List();
int i = 0;
foreach (DataRow dr in dt.Rows)
{
string BudgetReferenceID = dr["BudgetExpenseHeadDetailID"].ToString();
string BudgetReferenceDescription = dr["BudgetExpenseHeadDetailDescription"].ToString();
values.Add(new CascadingDropDownNameValue(BudgetReferenceDescription, BudgetReferenceID));
}
return values.ToArray();
}
Можете ли вы мне помочь, что мне сделать, чтобы все работало всегда во всех браузерах? Я думаю, мне следует обновить ajaxtoolkit, чтобы он решил проблему.
Я пытался добавить некоторые параметры autopostback в первый раскрывающийся код, а также попробовал добавить Asyncpostback, но ничего не помогло. Теперь я думаю обновить ajaxtoolkit. возможно, после этого это решит мою проблему. Можете ли вы дать мне совет или предложение по решению этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/785 ... t-in-other
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»