Я изменил публичное свойство в своем веб-пользовательском элементе управления, но клиент не видит этого изменения, пока я не удалю пользовательский элемент управления и не добавлю его повторно, а затем он увидит изменение.change property on user control
Я думаю, что если пользовательский элемент управления используется во многих местах, я должен сделать это на всех страницах? Конечно, я чего-то не хватает?
Вот код-за моего webusercontrol:
public partial class ReportExporter : System.Web.UI.UserControl
{
public IEnumerable<object> DataSource { get; set; }
public String ExportFilename { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BtnExportCsv_Click(object sender, EventArgs e)
{
//Client needs to subscribe to this event and set the
//DataSource property with IEnumerable.
//Todo: Find other ways to show this as a requirement.
OnExportEvent(e);
if (String.IsNullOrEmpty(ExportFilename))
ExportFilename = "NeedToOverrideThisName";
Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("Content-Disposition", "attachment; filename=" + ExportFilename + ".csv");
byte[] csvData = Utility.ToCsv(",", DataSource.ToList());
Response.OutputStream.Write(csvData, 0, csvData.Length);
HttpContext.Current.Response.End();
}
protected void BtnExportPdf_Click(object sender, EventArgs e)
{
}
public event EventHandler ExportEvent;
protected void OnExportEvent(EventArgs e)
{
if (ExportEvent != null)
{
ExportEvent(this, e);
}
}
}
Все, что я сделал, было изменить имя свойства для DataSource, это было AnyList.
Нам не хватает вашего кода. Мы не можем сказать, что происходит из описания. – Oded
Возможно, вам понадобится Invalidate() элемент управления до того, как будет показано изменение. – itsme86